基于μCLinux的USB驅動(dòng)程序實(shí)現
1.3 電路設計
FT245BL芯片使用主板上的3.3 V和5 V電源供電,主板對外作為一個(gè)USB設備。USB總線(xiàn)的電源線(xiàn)連接在芯片的復位引腳RESET上,這樣保證了USB芯片平時(shí)處于復位狀態(tài)。本文引用地址:http://dyxdggzs.com/article/202492.htm
當USB總線(xiàn)連接到主機時(shí),電源線(xiàn)變高,RESET變高,最終導致RSTOUT變高,由于USBDP引腳配置了一個(gè)1.5 kΩ的上拉電阻連到RSTOUT引腳,使得芯片以全速狀態(tài)連接到主機。FIFO控制器接口包括8位數據線(xiàn)D7~D0、讀RD、寫(xiě)WR、發(fā)送使能TXE、接收完畢RXF的5個(gè)信號。由于FT245BL芯片沒(méi)有片選線(xiàn),所以信號都是經(jīng)過(guò)主板CPLD內部的譯碼電路處理后才連接的。DSP采用中斷機制讀取 FIFO的數據,所以將RXF連接DSP的可編程端口(PF3),用以產(chǎn)生中斷。
2 FT245BL驅動(dòng)程序的編寫(xiě)
這里以ADI公司的ADSP-BF533為例,介紹USB接口芯片FT245BL在μClinux下驅動(dòng)程序的編寫(xiě)。依據FT245BL芯片的結構和接口設計,決定將其作為字符設備來(lái)開(kāi)發(fā)它的驅動(dòng)程序。所用開(kāi)發(fā)平臺的硬件結構如下:
2.1 確定設備的設備名稱(chēng)和主設備號
主設備號是內核識別不同類(lèi)型設備的惟一標識,內核利用主設備號將設備與相應的驅動(dòng)程序對應起來(lái)。開(kāi)發(fā)新的驅動(dòng)程序,必須找到一個(gè)還未被使用的主設備號,分配給自己的字符設備。主設備號的確定可以通過(guò)兩種方法:一是靜態(tài)定義;二是動(dòng)態(tài)分配。該驅動(dòng)采用的是靜態(tài)主設備號,在ft245b1.C文件中直接定義設置為254,#define ft245bl_major 254。
2.2 確定編寫(xiě)需要的file-operations數據結構中的功能函數
該驅動(dòng)文件ft245b1.C中定義的file_operations數據結構:
評論