基于s3c44b0和COS-II的嵌入式USB主機(jī)(SL811)設(shè)計與
1 引 言
本文引用地址:http://www.ex-cimer.com/article/202652.htm通常情況下,打印機(jī)、海量存儲等設(shè)備是由普通PC機(jī)來驅(qū)動的,由于大量的測控、醫(yī)療等系統(tǒng)需要存儲、打印數(shù)據(jù),因此開發(fā)這類設(shè)備的嵌入式驅(qū)動是非常有實用價值的。目前,各種嵌入式設(shè)備基本上是通過軟盤存儲,并口打印的,而它們的存儲容量、數(shù)據(jù)傳輸速度已大大落后當(dāng)前各類嵌入式系統(tǒng)的需求。因此,開發(fā)基于USB接口的嵌入式海量存儲設(shè)備和打印機(jī)驅(qū)動已成當(dāng)務(wù)之急。
USB(Universal Serial Bus)是最近幾年逐步在PC領(lǐng)域廣為應(yīng)用的新型串行接口技術(shù),它通用性好、實時性強(qiáng)、傳輸方式多樣、成本低、易于擴(kuò)展和使用,這些優(yōu)點使它受到許多硬件廠商的青睞,各種類型的USB設(shè)備產(chǎn)品大量涌入市場。USB通訊必須是主機(jī)和外設(shè)通訊,每次通訊都是由主機(jī)發(fā)起,外設(shè)只是被動地執(zhí)行主機(jī)發(fā)過來的命令。而市場上所買到和使用的USB 移動設(shè)備, 都是USB 的外設(shè)(device) , 如USB 的移動硬盤、USB 接口的數(shù)碼相機(jī)、打印機(jī)等。這些設(shè)備通常只能通過PC 來進(jìn)行相互的文件和數(shù)據(jù)交換,沒有了PC 機(jī), 這些設(shè)備就無法進(jìn)行數(shù)據(jù)交換。而實際上并非每個地方都擁有PC機(jī)或者適合使用PC機(jī),因此業(yè)界和用戶需求USB 主機(jī)的嵌入式化。也就是開發(fā)和設(shè)計嵌入式的USB 主機(jī)。
根據(jù)具體醫(yī)療儀器(酶標(biāo)儀)的實際需要,我們在三星的ARM7處理器 S3C44B0X上移植了實時操作系統(tǒng)(RTOS)――micro;C/OS-II,并編寫了基于USB主控制器芯片SL811的底層驅(qū)動。為了能將酶標(biāo)儀所檢測的數(shù)據(jù)保存到外設(shè)(如U盤、移動硬盤)中,研究了對應(yīng)的文件系統(tǒng)和UFI傳輸協(xié)議,實現(xiàn)了對FAT文件系統(tǒng)的海量存儲設(shè)備的讀寫。同時,為了打印霉標(biāo)儀的檢測結(jié)果,研究了EPSON打印機(jī)的ESC/P打印語言,實現(xiàn)了EPSON C63系列、C65系列、ME1打印機(jī)基于USB通訊的嵌入式打印機(jī)驅(qū)動。
2 嵌入式USB主機(jī)的硬件設(shè)計
酶標(biāo)儀的硬件平臺核心為三星公司的S3C44B0X(主頻最高可達(dá)66MHz),它集成了ARM7TDMI核,LCD控制器,是一款適用于中端應(yīng)用的微控制器。系統(tǒng)擴(kuò)展包括:存儲器(8MB SRAM、2MB NOR Flash)、USB主從機(jī)(SL811HS)和按鍵等硬件資源。其中USB部分硬件連接如圖1所示。
圖1:硬件連接圖
SL811HS 是Cypress公司推出的一款嵌入式USB Host/S1ave芯片。支持USB1.1的全速和低速設(shè)備。提供USB主機(jī)的硬件接口及總線管理的物理機(jī)制。帶有在片的SIE和USB發(fā)送器以及在片的根集線器Hub。因此, 滿足了嵌入式USB 主機(jī)系統(tǒng)所需要的功能, 即由主機(jī)接口芯片來完成總線底層物理數(shù)據(jù)包的發(fā)送、接收, 并能檢測總線狀態(tài), 發(fā)出中斷請求。所以, 選擇SL811HS 作為本系統(tǒng)的USB接口芯片是合適的。
如圖2所示,ARM通過Cs3片選SL811HS來確定SL811HS的基地址。D0-D7為數(shù)據(jù)和地址的復(fù)用線,并通過A0來區(qū)分,當(dāng)A0為“0”的時候,D0-D7上傳輸?shù)氖瞧频刂?;反之,?dāng)A0為“1”的時候,D0-D7作為數(shù)據(jù)線用。
評論