μClinux是针对嵌入式控制领域的操作系统,它继承了Linux内核的绝大部分特性,专为没有内存管理单元MMU的嵌入式微处理器而设计。它内核小,效率高,源代码开放,包含了完整的TCP/IP网络协议。ADSP-BF533是ADI公司Blackfin系列的高速数字信号处理器芯片。Blackfin系列是ADI与Intel联合开发的体现高性能体系结构的首款第四代DSP产品,16位定点DSP内核,新型指令结构,支持C/C++编程,主频达600 MHz,内核电压1.2 V,具有动态电源管理能力,功耗低,扩展能力强,被广泛应用于各种信号处理。
这里使用基于Blackfin ADSP-BF533微处理器的μClinux开发板,在对外通信时需用到USB接口。结合实际情况,选择FTDI公司推出的USB芯片FT245BL。主要介绍USB芯片FT245BL的工作原理和威廉希尔官方网站
设计,以及如何在μClinux操作系统下编写和添加其驱动程序的方法。
1 FT245BL工作原理与威廉希尔官方网站
设计
传统USB芯片要求设计人员对USB的标准、Firmware编程及驱动程序的开发等有较深入的理解,工作量大,开发周期长,需要经验丰富的设计者才能完成;而FTDI(Future Technology Devices Intl.Ltd.)公司推出的USB芯片FT245BL集成了微控制器,并且把实现USB通信协议的固件程序直接固化在芯片中,同时提供了PC端的没备驱动程序,用户只需进行必要的硬件设计和简单的软件编程,所以大大降低了开发难度。
1.1 功能结构
FT245BL是FTDI公司的一款并行FIFO双向数据传输的USB芯片,对于微处理器它提供8位并行数据总线D0~D7,对于外部主机是标准串行总线或虚拟接口,其数据传输速率最高可达1 MB/s,提供USBl.1/2.O规范的全速物理接口,支持UHCI/OHCI/EHCI主控制器。
FT245BL芯片的内部系统结构框架图如图1所示,芯片主要由3.3 V稳压器、USB收发器、串行接口引擎(SIE)、USB协议引擎和先进先出(FIFO)控制器、6 MHz振荡器、8×倍频器、USB锁相环、复位器、E。PROM接口等构成。其内部设置了2个FIFO数据缓冲区,一个是128 B的接收缓冲区;一个是384 B的发送缓冲区。串行接口引擎用来完成USB数据的串/并双向转换;USB协议引擎用于管理来自USB设备控制端口的数据流,实现USB主机控制器需要的USB底层协议。
1.2 工作原理
DSP与FT245BL接口框图如图2所示。主板CPLD用AMS[0:3]和高5位地址线(A19~A15)进行译码;FT245BL的TXE和RXF信号在查询地址有效时,通过DSP读取其状态,判断是否发送数据或接收数据;TXE用于判断发送FIFO是否满,0为不满,1为满,当TXE为0时,外部DSP向发送FIFO缓冲区写数据,直到发送数据全部写入;RXF用于判断接收FIFO是否有数据,只要数据个数≥1,RXF就为低,通知DSP可以读取数据。FT245BL的RD和WR信号在读写地址有效时,分别与DSP的ARE和AWE相连,DSP可以读取接收数据和写入发送数据。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉