你现在位置:首页>技术论文>电气常识>嵌入式系统>正文
FIFO是什么及FIFO在单片机上的应用
日期:2008-5-8 23:43:11 来源:本站整理  
点击: 作者:
点击【】放大字体.

FIFO是什么? FIFO是英文First In First Out 的缩写,是一种先进先出的数据缓存器,他与普通存储器的区别是没有外部读写地址线,这样使用起来非常简单,但缺点就是只能顺序写入数据,顺序的读出数据,其数据地址由内部读写指针自动加1完成,不能像普通存储器那样可以由地址线决定读取或写入某个指定的地址。

WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW_P※LCJS_COM-PLC-)技.术_网

  FIFO的软件机制实现,根据RAM的容量大小及FIFO所需的空间,在RAM中开设一片缓冲空间. 设定一个FI地址指针,和一个FO的地址指针,再设定一个数据量的计数存储器.如果需要FI时,只需要将数据存入设定的地址单元,然后将计数存储器和FI地址指针加1即可.当需要FO时,只要检测到计数存储器的内容不为0,说明缓冲器内有数据需要送出.则将缓冲器的内容取出,再将FO的地址指针加一,并将计数寄存器的内容减一即可.
WWW_PLC※JS_COM-PmLC-技.术_网

WWW_PLCJS_COM-PLC-技.术_网

  FIFO有什么作用呢, 利用FIFO有时可以实现快速处理.提高控制的速度.比如,我们SPI,IIC或者UART将采集的一组数据送出去,但是这些数据传送都是需要一定时间的,有时为了不耽误数据采集的时间,就可以采集的数据直接先连续的存放在缓冲区内.数据的发送交给另外一个任务去处理.这样就不会耽误数据采集任务的时间来等待每个字节的发送完毕了.
WWW_P※LCJS_COM-PLC-)技.术_网

WWW_PL※CJS_COM-PLC-技.术_网

  下面以FPPA的软件实现来进一步形象说明.该FIFO缓冲器设定在20~2F单元内.
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

   定义一些控制变量:
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJS@_COM%-PLC-技.术_网

int  temp100       ;FI时用的临时变量,同任务中其他地方也可用
WW.W_PLC※JS_C,OM-PL,C-技.术_网

word fiindex       ;便于访问的指针变量,同任务中其他地方也可用
P.L.C.技.术.网——可编程控制器技术门户

word foindex       ;便于访问的指针变量,同任务中其他地方也可用
WWW_PLCJS@_COM%-PLC-技.术_网

int  temp200       ;FO输出数据存放单元
WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

int  fifo_counter  ;数据个数计数单元
WWW.PLCJS.COM——可编程控制器技术门户

int  fi_pointer    ;FI指针控制
W1WW_P4LCJS_COM-PLC-技.术_网

int  fo_pointer    ;FO指针控制
——可——编——程——控-制-器-技——术——门——户

WWcW_PLCJS_COM-PLC-技.术_网

-----------------------------------------------------
WWW.PLCJS.COM——可编程控制器技术门户

WW.W_PLC※JS_C,OM-PL,C-技.术_网

FIFO使用之前也需要初始化的:
WWW_PLCJS_COM-PLC-技.术_网

WWW_PLCJS@_COM%-PLC-技.术_网

;---------------fifo initial sub program----------------------
W1WW_P4LCJS_COM-PLC-技.术_网

;Name  :fifo_initial
WWW_PL※CJS_COM-PLC-技.术_网

;Input  :void
WWW_PLCJS_COM-PLC-技.术_网

;Output  :void
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

;temp REG :void
plcjs.技.术_网

;Function :
WWW_PLCJS@_COM%-PLC-技.术_网

;Argument :
P.L.C.技.术.网——可编程控制器技术门户

;------------------------------------------------------------- 
plcjs.技.术_网

fifo_initial:
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

        mov    a, FIFO_START_RAM_ADDR
WW.W_PLCJS_COM-PLC-技.术_网

        mov    fi_pointer, a
WWW_PLC※JS_COM-PmLC-技.术_网

        mov    fo_pointer, a
WWW_P※LCJS_COM-PLC-)技.术_网

        clear  fifo_counter
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

        clear  hb@fiindex
P_L_C_技_术_网——可——编——程——控-制-器-技——术——门——户

        clear  hb@foindex
WW.W_PLCJS_COM-PLC-技.术_网

        ret
WWcW_PLCJS_COM-PLC-技.术_网

WWW_PLC※JS_COM-PmLC-技.术_网

-------------------------------------------------
WWW_PLCJS※COM-PLC-技.术_网(可※编程控※制器技术门户)

WWW.PLCJS.COM——可编程控制器技术门户

FI子程序:
WWW_PLCJS@_COM%-PLC-技.术_网

WWW_PLCJS※COM-PLC-技×术_网(可编程控※制器技术门户)

;---------------fi operation sub program----------------------
WW.W_PLC※JS_C,OM-PL,C-技.术_网

;Name  :fi_data
WWW.PLCJS.COM——可编程控制器技术门户

;Input  :a
P.L.C.技.术.网——可编程控制器技术门户

;Output  :void
WWW_P※LCJS_COM-PLC-)技.术_网

;temp REG :temp100
WWW_P※LCJS_CO※M-PLC-技-.术_网

;Function :fi operation
WWW_P※LCJS_CO※M-PLC-技-.术_网

;Argument :temp100 save a temp,
WWW_PLCJS_COM-PLC-技.术_网

;------------------------------------------------------------- 
WWW※PLCJS_COM-PL#C-技.术_网(可编※程控※制器技术门户)

fi_data:
WWW_PLCJS@_COM%-PLC-技.术_网

        mov    temp100, a
WWcW_PLCJS_COM-PLC-技.术_网

        mov    a, fi_pointer
WWW_PLCJS@_COM%-PLC-技.术_网

        mov    lb@fiindex, a
——可——编——程——控-制-器-技——术——门——户

        mov    a, temp100
WWW_PL※CJS_COM-PLC-技.术_网

        idxm   fiindex, a
WWW_PL※CJS_COM-PLC-技.术_网

        inc    fifo_counter
WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

        inc    fi_pointer
WWW_PLCJS_COM-PLC-技.术_网

        mov    a, 0x2f
WWW_P※LCJS_CO※M-PLC-技-.术_网

        and    fi_pointer, a
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

        ret
——可——编——程——控-制-器-技——术——门——户

WWcW_PLCJS_COM-PLC-技.术_网

;------------------------------------------
WW.W_PLC※JS_C,OM-PL,C-技.术_网

P.L.C.技.术.网——可编程控制器技术门户

FO子程序:
WWW_PLC※JS_COM-PLC-技.术_网(可编程控※制器技术门户)

WWW_PLCJ-S_COM-PLC-技.术_网(可-编程控-制器技术-门户)

;---------------fo operation sub program----------------------

本新闻共3页,当前在第11 2  3  
plcjs.技.术_网

评论内容
载入中...
载入中...
P
L
C



|










|


P
L
C









·最新招聘信息
·最新求职信息
·推荐产品
·推荐厂商
·栏目热门排行
·站内热门排行