汽車行駛記錄儀中USB HOST相關(guān)模塊的設(shè)計
本文介紹了基于單片機(jī)和USB HOST接口芯片在汽車行駛記錄儀中實現(xiàn)USB HOST功能的相關(guān)模塊設(shè)計,該模塊很好地實現(xiàn)了汽車行駛記錄儀中單片機(jī)向優(yōu)盤大量數(shù)據(jù)的快速傳輸。
USB HOST相關(guān)模塊的總體設(shè)計
汽車行駛記錄儀中的USB HOST相關(guān)模塊由單片機(jī)、USB HOST接口、FLASH、鐵電存儲體(FRAM)、實時時鐘和電源管理等部分組成,其功能框圖如圖1所示。汽車行駛記錄儀工作時,由單片機(jī)通過前端接口電路拾取汽車行駛狀態(tài)的各種信息,包括車速、發(fā)動機(jī)轉(zhuǎn)速和各種車輛開關(guān)信號等。汽車行駛記錄儀以實時時鐘為基準(zhǔn),把車輛信息按類別分別存入FRAM和FLASH。需要從汽車行駛記錄儀中獲取汽車記錄狀態(tài)信息時,用戶插入優(yōu)盤,單片機(jī)自動識別優(yōu)盤并加載驅(qū)動程序,當(dāng)完成設(shè)備枚舉和Bulk_Only傳輸協(xié)議后,單片機(jī)就可以把汽車行駛記錄儀中記錄的狀態(tài)信息以文件的形式傳輸?shù)絻?yōu)盤。本文重點介紹電源模塊、USB HOST模塊、數(shù)據(jù)存儲模塊的硬件設(shè)計。
考慮到汽車的復(fù)雜工況以及記錄儀的性價比,單片機(jī)至少為工業(yè)級產(chǎn)品,由于有USB HOST結(jié)構(gòu),F(xiàn)LASH和RAM要足夠大,這樣系統(tǒng)資源才夠用。另外,考慮到成本和開發(fā)周期,單片機(jī)選擇51系列比較有利,綜合以上因素,單片機(jī)選擇AT89C51RD2,擴(kuò)展RAM;目前市場上的USB設(shè)備芯片比較多,而HOST要少一些。選擇USB HOST接口芯片要考慮兩點:一是在硬件上必須比較容易和51單片機(jī)相連接,二是軟件開發(fā)難度不能太大,因此選擇SL811HST。對于數(shù)據(jù)存儲體,必須滿足存儲時間為15年有效,而且存儲容量為至少360小時有效數(shù)據(jù),普通數(shù)據(jù)FLASH擦寫次數(shù)為100萬次,不能滿足記錄儀中頻繁擦寫數(shù)據(jù)的要求,而鐵電擦寫次數(shù)為無限次,但大容量FRAM價格很高,綜合這兩點,存儲體采用小容量FRAM和FLASH結(jié)合,這樣既滿足記錄儀要求又有比較低的成本。
電源模塊硬件設(shè)計
汽車電子產(chǎn)品產(chǎn)生電磁干擾的最根本原因就是在其工作過程中產(chǎn)生的di/dt。電源模塊設(shè)計就是要在這些干擾源下能正常工作,其硬件電路如圖2所示。
在電源輸入處,二極管VD1(IN4007)的作用是防止反接,這樣即使在電源接反的情況下,電子設(shè)備也不會被損壞;VD2(A36A)為瞬態(tài)抑制二極管,能吸收高壓脈沖電壓,防止大功率器件工作時產(chǎn)生的高壓脈沖對電子設(shè)備的損壞;L1和L2是低電感磁條,其能有效的損耗干擾成分的能量,能很好改善電源性能;F1和F2為自復(fù)位二級管,防止電子設(shè)備內(nèi)有器件被損壞時,電源短路造成對其他器件的損壞。三端穩(wěn)壓管7812(N2)提供12V電壓滿足前端輸入接口拾取電路的需要,同時給三端穩(wěn)壓器7808(N1)提供輸入,N1提供8V電壓,滿足里程輸出以及速度輸出需要,開關(guān)穩(wěn)壓器LM2576(N3)提供5V輸出,最大輸出電流為3A,滿足記錄儀帶打印機(jī)的需要。WRD24B05(N4)為DC-DC轉(zhuǎn)換器,隔離汽車和電子設(shè)備電源,使設(shè)備電源穩(wěn)定可靠。正向電壓調(diào)節(jié)器SPX1117(N5)提供3.3V電壓,供SL811HST和存儲體的需要,N6前端的晶體管8550控制N6的輸入,N6給IC卡供電,需要電源可控。
USB HOST模塊硬件設(shè)計
在汽車行駛記錄儀USB HOST模塊中,單片機(jī)采用AT89C51RD2,USB HOST接口芯片采用SL811HST,該模塊硬件電路如圖3所示,SL811HST提供并口總線數(shù)據(jù)協(xié)議和控制線CS、RD、WR、INTRQ以及A0,利用單片機(jī)的讀寫信號線RD、WR,以及控制線A0、INT1就能把SL811HST和AT89C51RD2連接起來,其中8根數(shù)據(jù)線在控制線的控制下與AT89C51RD2進(jìn)行數(shù)據(jù)交換。USB HOST包含有USB設(shè)備枚舉協(xié)議、Bulk_Only傳輸協(xié)議以及FAT文件結(jié)構(gòu),AT89C51RD2的RAM資源不夠,因此,系統(tǒng)擴(kuò)展了32Kb SRAM,其占有低32Kb地址。為了保證操作SL811HST的可靠性,用HC00擴(kuò)展了邏輯電路,因此SL811HST占有0x8000和0x8001兩個地址。另外,USB總線的電氣特性要求在USB收發(fā)器之前必須串接22~44Ω電阻,同時必須根據(jù)不同的USB設(shè)備傳輸速度(全速或低速),配置好上拉電阻和下拉電阻的位置。
當(dāng)CS、RD有效時,如果A0為高,這是讀當(dāng)前地址或寄存器數(shù)據(jù),如果A0為低,則讀當(dāng)前地址或寄存器地址。當(dāng)CS、WR有效時,如果A0為高,這是寫當(dāng)前地址或寄存器數(shù)據(jù),如果A0為低,則寫當(dāng)前地址或寄存器地址。
USB HOST識別設(shè)備過程如下:當(dāng)SL811HST連接上USB設(shè)備后,就會產(chǎn)生一個中斷。AT89C51RD2接收到中斷后,進(jìn)入枚舉過程。從USB設(shè)備插入接口開始到客戶驅(qū)動程序能夠使用該設(shè)備還有一些工作要做,這一段可以稱作設(shè)備識別過程,也稱枚舉過程。枚舉過程是所有USB設(shè)備使用前必經(jīng)的過程,USB HOST端在使用前需要知道這是一個低速設(shè)備還是一個全速設(shè)備,需要知道這個設(shè)備的一些特性和能力,以便載入相應(yīng)的驅(qū)動程序。當(dāng)USB HOST配置完USB設(shè)備后,通過描述符提供的信息識別出Bulk_Only的Mass Storage設(shè)備,然后進(jìn)入Bulk_Only 傳輸方式,在此方式下,USB與設(shè)備之間的所有數(shù)據(jù)均通過Bulk_In和Bulk_Out 來傳輸,不再通過控制端點傳輸任何數(shù)據(jù)。在這種傳輸方式下,有三種數(shù)據(jù)類型在USB和設(shè)備之間傳輸,CBW、CSW和普通數(shù)據(jù)。CBW(Command Block Wrapper,即命令塊分組)是從USB HOST發(fā)送到設(shè)備的命令,命令的格式遵從接口中的bInterfaceSubClass所指定的命令塊,這里為SCSI傳輸命令集。USB設(shè)備需要將SCSI命令從CBW中提取出來,執(zhí)行相應(yīng)的命令,完成以后向HOST發(fā)出當(dāng)前命令執(zhí)行狀態(tài)CSW(Command Status Wrapper), HOST根據(jù)CSW來決定是否繼續(xù)傳送下一個CBW或數(shù)據(jù)。USB HOST要求USB設(shè)備執(zhí)行的命令如果為發(fā)送數(shù)據(jù),則此時需要將特定的數(shù)據(jù)傳送出去,傳送完畢后發(fā)出CSW,使USB HOST進(jìn)行下一步操作。
圖2 電源模塊原理圖
圖3 USB HOST模塊原理圖
存儲模塊硬件設(shè)計
結(jié)合普通FLASH和FRAM來存儲數(shù)據(jù),既滿足了數(shù)據(jù)存儲擦寫次數(shù)的要求,也有比較低的成本。數(shù)據(jù)存儲模塊的硬件電路如圖4所示。
FRAM芯片F(xiàn)M24CL16通過I2C接口和AT89C51RD2相連,I2C總線通過兩根線——串行數(shù)據(jù)(SDA)和串行時鐘(SCL)線連接到總線上的任何一個器件,每個器件都有一個唯一的地址,而且都可以作為一個發(fā)送器或接收器。此外,器件在執(zhí)行數(shù)據(jù)傳輸時也可以看作是主機(jī)或從機(jī),I2C是一個多主機(jī)總線,SDA和SCL都是雙線路,連接到總線的器件的輸出級必須是漏極開路或集電極開路,都通過一個電流源或上拉電阻連接到正的電源電壓。當(dāng)總線空閑時,這兩條線路都是高電平。FLASH芯片AT45DB041通過SPI接口和AT89C51RD2相連接,SPI是一個全雙工的串行接口,采用三線同步的數(shù)據(jù)傳輸形式。在一定的數(shù)據(jù)傳輸過程中,接口上只能有一個主機(jī)和一個從機(jī)進(jìn)行通信。在一次傳輸過程中,主機(jī)總是向從機(jī)發(fā)送一個字節(jié)數(shù)據(jù),而從機(jī)也總是向總機(jī)發(fā)送一個字節(jié)數(shù)據(jù)。
圖4 存儲模塊原理科
小結(jié)
本設(shè)計實現(xiàn)了汽車行駛記錄儀的USB HOST功能,使汽車行駛記錄儀與優(yōu)盤可進(jìn)行大量數(shù)據(jù)的快速交換?;诒驹O(shè)計的產(chǎn)品在送檢、認(rèn)證和使用過程中,USB HOST技術(shù)性能達(dá)到了產(chǎn)品設(shè)計要求和技術(shù)要求,方便了用戶對大量數(shù)據(jù)進(jìn)行快速采集。