基于USB的接口卡
發(fā)布時(shí)間:2008/9/1 0:00:00 訪問次數(shù):843
前言
現(xiàn)代以計(jì)算機(jī)為核心的總線技術(shù)發(fā)展迅速,各種基于usb、pci以及isa等總線的系統(tǒng)已非常普遍,但對于用戶的特殊要求卻不能很好的滿足,往往需要單獨(dú)設(shè)計(jì)。單獨(dú)設(shè)計(jì)開發(fā)無論從成本還是從時(shí)間上都是很大的浪費(fèi)。以pdiusbd12(以下簡單d12)和單片機(jī)構(gòu)成的usb總線接口卡,可以根據(jù)用戶不同的需要,在不必掌握復(fù)雜的usb協(xié)議的情況下,使自己設(shè)備很容易的應(yīng)用usb跟計(jì)算機(jī)交換數(shù)據(jù),而且能很方便的改造舊系統(tǒng),充分享用usb帶來的諸多方便,如對一般系統(tǒng)不用外接電源。此接口卡具有通用性好、速度快、成本低廉等特點(diǎn)。
。苯M成結(jié)構(gòu)
本套系統(tǒng)的核心就是usb接口芯片d12,它可以與微處理器實(shí)現(xiàn)無縫接口,微處理器采用的是winbond的高性能單片機(jī)77e58,控制中樞是cpld(epm7064s),實(shí)現(xiàn)usb數(shù)據(jù)傳輸?shù)模洌恚峁δ,系統(tǒng)還預(yù)置了用戶ram區(qū),便于用戶根據(jù)特殊需要靈活的編程控制。
接口卡留給用戶使用的接口包括以下幾種:a、fifo入口方向的九位數(shù)據(jù)線;b、77e58的串行口;c、用77e58的p1口模擬的i2c總線;d、用戶控制指令數(shù)據(jù)接口;e、對用戶板操作的八位i/o口。
圖1 。酰螅饨涌诳ㄏ到y(tǒng)框圖
注:雙箭頭代表數(shù)據(jù)線,單箭頭代表控制線
。补ぷ髟
1)用戶接口部分
。帷ⅲ玻常步涌诰褪鞘褂脝纹瑱C(jī)的txd和rxd兩根線構(gòu)成,在用戶使用此接口之前,可以通過計(jì)算機(jī)上的軟件來設(shè)置接口的工作方式及相應(yīng)的波特率。
。、i2c總線是由兩根線組成:scl和sda,其中scl是作為數(shù)據(jù)傳輸?shù)臅r(shí)鐘線,sda是作為傳輸數(shù)據(jù)的串行線,在本例中,是通過77e58的兩個(gè)p1口來模擬i2c總線時(shí)序的,用p1.0和p1.1兩根線分別模擬sda和scl。此卡只能作為i2c總線的主機(jī)端來使用。
。恪⒕盼徊⑿袛(shù)據(jù)線接口。在本例中,把fifo的一端的數(shù)據(jù)線開放,留給用戶,可以通過此數(shù)據(jù)線把數(shù)據(jù)傳到fifo,實(shí)現(xiàn)用戶板與usb接口卡的通訊,此種接口適用于要求速度比較快的場合。其中,最高位還可作為用戶通訊的校驗(yàn)位來使用,提高通訊的質(zhì)量。
。、控制指令數(shù)據(jù)接口,即把單片機(jī)的數(shù)據(jù)線對用戶開放,可以直接讀到控制數(shù)據(jù),一般用于傳輸從pc機(jī)下達(dá)的指令,便于控制用戶板的工作,如ad采集的場合等。
。、對用戶板上的i/o口,是從cpld中接出的,可以根據(jù)用戶要求,從pc機(jī)上傳達(dá)io控制,通過單片機(jī)把各io狀態(tài)直接反映到cpld的i/o口上。
以上接口所涉及到的并行總線均使用74ls245實(shí)現(xiàn)總線隔離,在使用之前,需要用戶從計(jì)算機(jī)上發(fā)送選擇指令,確定使用哪種通訊方式,再由單片機(jī)來控制各個(gè)總線的開關(guān),使得整個(gè)系統(tǒng)能夠順暢工作,避免引起總線的競爭。
2)usb傳輸部分
在usb傳輸部分采用接口芯片d12,是一款性價(jià)比很高的usb器件,它通常用作微處理器系統(tǒng)中,實(shí)現(xiàn)與微處理器進(jìn)行通信的高速通用并行接口。符合通用串行總線usb1.1版規(guī)范,片內(nèi)集成了sie、320字節(jié)多結(jié)構(gòu)fifo存儲器收發(fā)器,可與任何外部微處理器實(shí)現(xiàn)并行接口,數(shù)據(jù)吞吐量可達(dá)2mb/s,擁有完全自治的直接內(nèi)存存取dma操作,主端點(diǎn)的雙緩沖配置增加了數(shù)據(jù)吞吐量,能輕松實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸。在批量模式和同步模式下均可實(shí)現(xiàn)1mb/s的數(shù)據(jù)傳輸速率,具有良好emi特性,還可為用戶提供500ma的總線供電能力。
。常ⅲ悖穑欤涞目刂撇糠
。悖穑欤涑绦蚴遣捎茫觯瑁洌煺Z言編寫的,主要是配合用戶要求,完成數(shù)據(jù)從fifo傳輸?shù)剑洌保驳模洌恚峁δ,能夠(qū)崿F(xiàn)用戶的快速性要求。另外,就是產(chǎn)生對fifo的讀寫信號以及產(chǎn)生接口卡對用戶板的一些地址片選信號和8bit的i/o控制信號。
。洌保部梢酝ㄟ^中斷與單片機(jī)進(jìn)行指令通訊,通過cpld實(shí)現(xiàn)dma方式的數(shù)據(jù)傳輸,把數(shù)據(jù)從fifo傳輸d12中。只要把用戶的數(shù)據(jù)傳輸?shù)剑洌保驳模妫椋妫锢锩妫瑧?yīng)用程序就可以通過驅(qū)動程序把數(shù)據(jù)讀到計(jì)算機(jī)的緩存,其具體的傳輸過程是不需要用戶參與的。
。吵绦蛟O(shè)計(jì)
在本例中,軟件包括以下幾個(gè)部分:單片機(jī)中固件(firmware)程序、計(jì)算機(jī)上的驅(qū)動程序和用戶態(tài)的dll以及調(diào)用dll的范例程序。
。保┕碳绦蛟O(shè)計(jì)
固件程序是被固化到單片機(jī)中,能夠配置d12與計(jì)算機(jī)實(shí)現(xiàn)usb通信的程序。固件程序完成的主要工作可以簡化為:當(dāng)d12從usb總線上檢測到主機(jī)啟動的某一請求時(shí),便通過中斷方式將此請求傳遞給單片機(jī),固件程序進(jìn)行解析執(zhí)行相應(yīng)的操作,以完成與主機(jī)的對話。另外還執(zhí)行用戶通過計(jì)算機(jī)對接口卡的工作方式進(jìn)行設(shè)置的操作。
2)設(shè)備驅(qū)
前言
現(xiàn)代以計(jì)算機(jī)為核心的總線技術(shù)發(fā)展迅速,各種基于usb、pci以及isa等總線的系統(tǒng)已非常普遍,但對于用戶的特殊要求卻不能很好的滿足,往往需要單獨(dú)設(shè)計(jì)。單獨(dú)設(shè)計(jì)開發(fā)無論從成本還是從時(shí)間上都是很大的浪費(fèi)。以pdiusbd12(以下簡單d12)和單片機(jī)構(gòu)成的usb總線接口卡,可以根據(jù)用戶不同的需要,在不必掌握復(fù)雜的usb協(xié)議的情況下,使自己設(shè)備很容易的應(yīng)用usb跟計(jì)算機(jī)交換數(shù)據(jù),而且能很方便的改造舊系統(tǒng),充分享用usb帶來的諸多方便,如對一般系統(tǒng)不用外接電源。此接口卡具有通用性好、速度快、成本低廉等特點(diǎn)。
。苯M成結(jié)構(gòu)
本套系統(tǒng)的核心就是usb接口芯片d12,它可以與微處理器實(shí)現(xiàn)無縫接口,微處理器采用的是winbond的高性能單片機(jī)77e58,控制中樞是cpld(epm7064s),實(shí)現(xiàn)usb數(shù)據(jù)傳輸?shù)模洌恚峁δ,系統(tǒng)還預(yù)置了用戶ram區(qū),便于用戶根據(jù)特殊需要靈活的編程控制。
接口卡留給用戶使用的接口包括以下幾種:a、fifo入口方向的九位數(shù)據(jù)線;b、77e58的串行口;c、用77e58的p1口模擬的i2c總線;d、用戶控制指令數(shù)據(jù)接口;e、對用戶板操作的八位i/o口。
圖1 。酰螅饨涌诳ㄏ到y(tǒng)框圖
注:雙箭頭代表數(shù)據(jù)線,單箭頭代表控制線
。补ぷ髟
。保┯脩艚涌诓糠
。、232接口就是使用單片機(jī)的txd和rxd兩根線構(gòu)成,在用戶使用此接口之前,可以通過計(jì)算機(jī)上的軟件來設(shè)置接口的工作方式及相應(yīng)的波特率。
。狻ⅲ椋玻憧偩是由兩根線組成:scl和sda,其中scl是作為數(shù)據(jù)傳輸?shù)臅r(shí)鐘線,sda是作為傳輸數(shù)據(jù)的串行線,在本例中,是通過77e58的兩個(gè)p1口來模擬i2c總線時(shí)序的,用p1.0和p1.1兩根線分別模擬sda和scl。此卡只能作為i2c總線的主機(jī)端來使用。
。恪⒕盼徊⑿袛(shù)據(jù)線接口。在本例中,把fifo的一端的數(shù)據(jù)線開放,留給用戶,可以通過此數(shù)據(jù)線把數(shù)據(jù)傳到fifo,實(shí)現(xiàn)用戶板與usb接口卡的通訊,此種接口適用于要求速度比較快的場合。其中,最高位還可作為用戶通訊的校驗(yàn)位來使用,提高通訊的質(zhì)量。
d、控制指令數(shù)據(jù)接口,即把單片機(jī)的數(shù)據(jù)線對用戶開放,可以直接讀到控制數(shù)據(jù),一般用于傳輸從pc機(jī)下達(dá)的指令,便于控制用戶板的工作,如ad采集的場合等。
。、對用戶板上的i/o口,是從cpld中接出的,可以根據(jù)用戶要求,從pc機(jī)上傳達(dá)io控制,通過單片機(jī)把各io狀態(tài)直接反映到cpld的i/o口上。
以上接口所涉及到的并行總線均使用74ls245實(shí)現(xiàn)總線隔離,在使用之前,需要用戶從計(jì)算機(jī)上發(fā)送選擇指令,確定使用哪種通訊方式,再由單片機(jī)來控制各個(gè)總線的開關(guān),使得整個(gè)系統(tǒng)能夠順暢工作,避免引起總線的競爭。
。玻酰螅鈧鬏敳糠
在usb傳輸部分采用接口芯片d12,是一款性價(jià)比很高的usb器件,它通常用作微處理器系統(tǒng)中,實(shí)現(xiàn)與微處理器進(jìn)行通信的高速通用并行接口。符合通用串行總線usb1.1版規(guī)范,片內(nèi)集成了sie、320字節(jié)多結(jié)構(gòu)fifo存儲器收發(fā)器,可與任何外部微處理器實(shí)現(xiàn)并行接口,數(shù)據(jù)吞吐量可達(dá)2mb/s,擁有完全自治的直接內(nèi)存存。洌恚岵僮鳎鞫它c(diǎn)的雙緩沖配置增加了數(shù)據(jù)吞吐量,能輕松實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)傳輸。在批量模式和同步模式下均可實(shí)現(xiàn)1mb/s的數(shù)據(jù)傳輸速率,具有良好emi特性,還可為用戶提供500ma的總線供電能力。
。常ⅲ悖穑欤涞目刂撇糠
。悖穑欤涑绦蚴遣捎茫觯瑁洌煺Z言編寫的,主要是配合用戶要求,完成數(shù)據(jù)從fifo傳輸?shù)剑洌保驳模洌恚峁δ埽軌驅(qū)崿F(xiàn)用戶的快速性要求。另外,就是產(chǎn)生對fifo的讀寫信號以及產(chǎn)生接口卡對用戶板的一些地址片選信號和8bit的i/o控制信號。
。洌保部梢酝ㄟ^中斷與單片機(jī)進(jìn)行指令通訊,通過cpld實(shí)現(xiàn)dma方式的數(shù)據(jù)傳輸,把數(shù)據(jù)從fifo傳輸d12中。只要把用戶的數(shù)據(jù)傳輸?shù)剑洌保驳模妫椋妫锢锩,?yīng)用程序就可以通過驅(qū)動程序把數(shù)據(jù)讀到計(jì)算機(jī)的緩存,其具體的傳輸過程是不需要用戶參與的。
。吵绦蛟O(shè)計(jì)
在本例中,軟件包括以下幾個(gè)部分:單片機(jī)中固件(firmware)程序、計(jì)算機(jī)上的驅(qū)動程序和用戶態(tài)的dll以及調(diào)用dll的范例程序。
1)固件程序設(shè)計(jì)
固件程序是被固化到單片機(jī)中,能夠配置d12與計(jì)算機(jī)實(shí)現(xiàn)usb通信的程序。固件程序完成的主要工作可以簡化為:當(dāng)d12從usb總線上檢測到主機(jī)啟動的某一請求時(shí),便通過中斷方式將此請求傳遞給單片機(jī),固件程序進(jìn)行解析執(zhí)行相應(yīng)的操作,以完成與主機(jī)的對話。另外還執(zhí)行用戶通過計(jì)算機(jī)對接口卡的工作方式進(jìn)行設(shè)置的操作。
2)設(shè)備驅(qū)
上一篇:什么是人機(jī)接口
上一篇:USB 通信技術(shù)
熱門點(diǎn)擊
- 什么是PS/2接口 USB(Universa
- USB 通信技術(shù)
- 基于80C196KC的ARINC429總線接
- 非易失性并行存儲器的應(yīng)用
- ACTEL發(fā)布兩款實(shí)現(xiàn)人機(jī)接口(HMI)和微
- 揭密DRAM陣列架構(gòu) — 8F2 vs. 6
- 基于USB的接口卡
- 慧榮科技新款固態(tài)驅(qū)動器控制芯片支持MLC F
- 基于EZ-USB的數(shù)據(jù)傳輸接口設(shè)計(jì)
- 通用串行總線USB及其應(yīng)用
推薦技術(shù)資料
- MOSFET 電感單片降壓開關(guān)模式變換器優(yōu)勢
- SiC MOSFET 和 IG
- 新型 電隔離無芯線性霍爾效應(yīng)電
- 業(yè)界超小絕對位置編碼器技術(shù)參數(shù)設(shè)計(jì)
- 高帶寬、更高分辨率磁角度傳感技術(shù)應(yīng)用探究
- MagAlpha 角度位置傳感
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究