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