<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于μCLinux的USB驅動(dòng)程序實(shí)現

基于μCLinux的USB驅動(dòng)程序實(shí)現

作者: 時(shí)間:2010-12-16 來(lái)源:網(wǎng)絡(luò ) 收藏

摘 要:μClinux是一種面向嵌入式微處理器的微型操作系統,已經(jīng)在嵌入式操作系統中占有重要地位。在此介紹FTDI公司的芯片FT245BL的主要性能、工作原理,并將其應用在Blackfin ADSP-BF533微處理器的嵌入式開(kāi)發(fā)平臺上,說(shuō)明在μClinux下編寫(xiě)與加載接口芯片FT245BL的方法,實(shí)現了DSP主板的 端口通信。
關(guān)鍵詞:μClinux;嵌入式系統;FT245BL;設備


0 引 言
μClinux是針對嵌入式控制領(lǐng)域的操作系統,它繼承了Linux內核的絕大部分特性,專(zhuān)為沒(méi)有內存管理單元MMU的嵌入式微處理器而設計。它內核小,效率高,源代碼開(kāi)放,包含了完整的TCP/IP網(wǎng)絡(luò )協(xié)議。ADSP-BF533是ADI公司Blackfin系列的高速數字信號處理器芯片。 Blackfin系列是ADI與Intel聯(lián)合開(kāi)發(fā)的體現高性能體系結構的首款第四代DSP產(chǎn)品,16位定點(diǎn)DSP內核,新型指令結構,支持C/C++編程,主頻達600 MHz,內核電壓1.2 V,具有動(dòng)態(tài)電源管理能力,功耗低,擴展能力強,被廣泛應用于各種信號處理。
這里使用基于Blackfin ADSP-BF533微處理器的μClinux開(kāi)發(fā)板,在對外通信時(shí)需用到USB接口。結合實(shí)際情況,選擇FTDI公司推出的USB芯片FT245BL。主要介紹USB芯片FT245BL的工作原理和電路設計,以及如何在μClinux操作系統下編寫(xiě)和添加其的方法。


1 FT245BL工作原理與電路設計
傳統USB芯片要求設計人員對USB的標準、Firmware編程及驅動(dòng)程序的開(kāi)發(fā)等有較深入的理解,工作量大,開(kāi)發(fā)周期長(cháng),需要經(jīng)驗豐富的設計者才能完成;而FTDI(Future Technology Devices Intl.Ltd.)公司推出的USB芯片FT245BL集成了微控制器,并且把實(shí)現USB通信協(xié)議的固件程序直接固化在芯片中,同時(shí)提供了PC端的沒(méi)備驅動(dòng)程序,用戶(hù)只需進(jìn)行必要的硬件設計和簡(jiǎn)單的軟件編程,所以大大降低了開(kāi)發(fā)難度。
1.1 功能結構
FT245BL是FTDI公司的一款并行FIFO雙向數據傳輸的USB芯片,對于微處理器它提供8位并行數據總線(xiàn)D0~D7,對于外部主機是標準串行總線(xiàn)或虛擬接口,其數據傳輸速率最高可達1 MB/s,提供USBl.1/2.O規范的全速物理接口,支持UHCI/OHCI/EHCI主控制器。
FT245BL芯片的內部系統結構框架圖如圖1所示,芯片主要由3.3 V穩壓器、USB收發(fā)器、串行接口引擎(SIE)、USB協(xié)議引擎和先進(jìn)先出(FIFO)控制器、6 MHz振蕩器、8×倍頻器、USB鎖相環(huán)、復位器、E。PROM接口等構成。其內部設置了2個(gè)FIFO數據緩沖區,一個(gè)是128 B的接收緩沖區;一個(gè)是384 B的發(fā)送緩沖區。串行接口引擎用來(lái)完成USB數據的串/并雙向轉換;USB協(xié)議引擎用于管理來(lái)自USB設備控制端口的數據流,實(shí)現USB主機控制器需要的 USB底層協(xié)議。
1.2 工作原理
DSP與FT245BL接口框圖如圖2所示。主板CPLD用AMS[0:3]和高5位地址線(xiàn)(A19~A15)進(jìn)行譯碼;FT245BL的TXE和RXF 信號在查詢(xún)地址有效時(shí),通過(guò)DSP讀取其狀態(tài),判斷是否發(fā)送數據或接收數據;TXE用于判斷發(fā)送FIFO是否滿(mǎn),0為不滿(mǎn),1為滿(mǎn),當TXE為0時(shí),外部 DSP向發(fā)送FIFO緩沖區寫(xiě)數據,直到發(fā)送數據全部寫(xiě)入;RXF用于判斷接收FIFO是否有數據,只要數據個(gè)數≥1,RXF就為低,通知DSP可以讀取數據。FT245BL的RD和WR信號在讀寫(xiě)地址有效時(shí),分別與DSP的ARE和AWE相連,DSP可以讀取接收數據和寫(xiě)入發(fā)送數據。

本文引用地址:http://dyxdggzs.com/article/202492.htm


上一頁(yè) 1 2 3 4 下一頁(yè)

關(guān)鍵詞: CLinux USB 驅動(dòng)程序

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>