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