下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于ARM7的CAN-USB轉(zhuǎn)換器設(shè)計 摘要: 設(shè)計了一種CAN-USB轉(zhuǎn)換器,實現(xiàn)了CAN總線與上位機的實時通信,完成了對CAN總線通信的實時信息采集。關(guān)鍵詞: USB;CAN總線;LPC2119 引言ABS(防抱死剎車系統(tǒng))ECU(電控單元)在研發(fā)過程中,為了實時確定其行車參數(shù)和控制參數(shù),通常會使用標(biāo)定技術(shù),標(biāo)定技術(shù)就是通過一定的命令對ECU上傳和讀取控制算法參數(shù),以達(dá)到對其實時修改以尋求最優(yōu)的技術(shù)。對于車載電控單元來說,其通常只有CAN總線通信接口,為了能實現(xiàn)上位機和ECU能直接進(jìn)行通信,實現(xiàn)利用標(biāo)定技術(shù)對ABS ECU 進(jìn)行開發(fā),我們設(shè)計了
2、一款能實現(xiàn)CAN到USB的數(shù)據(jù)轉(zhuǎn)換器。CAN通信協(xié)議是一種用于汽車內(nèi)部測量與執(zhí)行部件之間的數(shù)據(jù)通信協(xié)議。而USB具有即插即用的優(yōu)點,并且有較高的通信速率,對于實現(xiàn)上位機和下位機的通信進(jìn)行標(biāo)定十分方便。我們設(shè)計的數(shù)據(jù)轉(zhuǎn)換器采用了NXP公司的LPC2119 ARM7處理器,通過它成功地實現(xiàn)上位機和ECU的可靠通信和對下位機的標(biāo)定。系統(tǒng)硬件設(shè)計LPC2119 ARM7處理器LPC2119是基于一個支持實時仿真和跟蹤的16/32 ARM7 TDMI-S CPU 的微控制器,并帶有128/256kB嵌入的高速Flash 存儲器。128 位寬度的存儲器接口和獨特的加速結(jié)構(gòu)使32 位代碼能夠在最大時鐘速率下
3、運行。USB轉(zhuǎn)換芯片CH372CH372 是一個USB 總線的通用設(shè)備接口芯片,在本地端,CH372 具有8 位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到控制器的系統(tǒng)總線上; CH372 內(nèi)置了USB 通訊中的底層協(xié)議,在內(nèi)置固件模式下,CH372自動處理默認(rèn)端點0 的所有事務(wù)。系統(tǒng)設(shè)計轉(zhuǎn)換器直接使用USB的5V供電,使用了LM1117將5V電源轉(zhuǎn)換成3.3V和1.8V以供ARM處理器及其外圍模塊使用,對于CAN控制器輸出的邏輯電平用TJA1050轉(zhuǎn)換成差分電平輸出CH372的設(shè)計十分重要,外接電容用于CH372 內(nèi)外部電源節(jié)點去耦。在LPC2119的各電壓引腳分別接了0.01
4、mf的電容進(jìn)行濾波。在USB轉(zhuǎn)換芯片的設(shè)計中,可選4.7kW電阻用于在電源斷電后將電解電容中的電能及時釋放掉,使VCC 及時下降到0V,確保在下次通電時CH372 能夠可靠地上電復(fù)位。為使CH372 能夠可靠復(fù)位,電源電壓從0V 上升到5V 的上升時間應(yīng)該少于100ms,所以電容的容量和電阻的阻值都不能太大。用15pF 的獨石或高頻瓷片電容作為CH372的時鐘振蕩電路的起振電容。系統(tǒng)硬件設(shè)計部分框圖如圖1。圖1 轉(zhuǎn)換器框圖系統(tǒng)軟件設(shè)計系統(tǒng)程序主要包括CAN控制器驅(qū)動程序,USB控制芯片CH372驅(qū)動程序,數(shù)據(jù)讀寫緩沖區(qū)的設(shè)計,以及如何調(diào)用CAN和USB的讀寫函數(shù)使數(shù)據(jù)的
5、通信更好的同步。CAN驅(qū)動程序根據(jù)LPC2119微處理器CAN 控制器的特性,將CAN 的驅(qū)動程序分為3 個層次:1.硬件抽象層:將CAN 控制器的硬件特性用數(shù)據(jù)類型進(jìn)行抽象,并提供CAN 控制器硬件操作的接口。對物理層的寄存器和相應(yīng)地址影射,定義了CAN 控制器寄存器的數(shù)據(jù)類型和對寄存器的操作方法。2.功能函數(shù)層:CAN 控制器各種功能的實現(xiàn)函數(shù),該層的函數(shù)利用硬件抽象層中對寄存器操作的接口來訪問CAN 控制器來實現(xiàn)各種CAN 控制器所能提供的功能。3.應(yīng)用程序接口層:在該層中的主要提供給3 個函數(shù),初始化CAN 控制器CANinit()、發(fā)送數(shù)據(jù)CANSendData()、接收數(shù)據(jù)CANR
6、ecieveData()。CH372驅(qū)動程序CH372 芯片在本地端提供了通用的被動并行接口。CH372 芯片的讀寫時序主要要求讀寫使能信號有一個210ms的持續(xù)時間,并且在a0=1時寫入命令,a0=0時讀寫數(shù)據(jù)。在本設(shè)計中,用LPC2119的IO口來表示CH372的各信號,并需要嚴(yán)格按照其時序要求用軟件模擬其讀寫時序,一個典型的寫數(shù)據(jù)子函數(shù)如下:USBWriteData(uint32 Data)IO0CLR=0x00000010; /a0=0,表示以下寫入為數(shù)據(jù)IO0PIN=Data; /向數(shù)據(jù)端口寫入數(shù)據(jù)IO0SET=0x00000020; /rd=1,讀信號無效IO0CLR=0x0000
7、0040; /wr=0,寫使能Delay8us(1); /延時8us,表示寫信號有效寬度IO0SET=0x00000060;在以上程序中,對各端口的操作先后代表了CH372的讀寫時序信號的先后,適當(dāng)?shù)难訒r表示有效的寫/讀選通脈沖WR/RD的寬度,其典型值為90到10000ns,我們選擇25ms。同理可得寫命令,讀數(shù)據(jù)子函數(shù):USBWriteCMD (uint32 CMD),USBReadData( )。調(diào)用以上子函數(shù)提供了發(fā)送和接收數(shù)據(jù)的函數(shù): IRQ_CH372(void), UploadUSBData(unint32 Length,uint32 Data)。環(huán)形緩沖區(qū)在本設(shè)計中,設(shè)計了兩個
8、環(huán)形緩沖區(qū),分別存放USB及CAN的數(shù)據(jù),使其能同步發(fā)送,一個典型的緩沖區(qū)數(shù)據(jù)結(jié)構(gòu)如下:struct CANRecRinBufUint32 CANBufMAX;Uint32 WritePtr;Uint32 ReadPtr;數(shù)據(jù)元素是無符號32位整數(shù),MAX為環(huán)形緩沖區(qū)最大長度,WritePtr為讀指針,ReadPtr為寫指針。讀寫指針初始化為WritePtr = ReadPtr =0。通過CAN控制器接受的數(shù)據(jù)存放在環(huán)形緩沖區(qū)CANRecRinBuf中,再讀出數(shù)據(jù)從USB端輸出,保證了數(shù)據(jù)通信的可靠性。上位機監(jiān)控界面安裝CH372的上位機驅(qū)動后,基于CH372的USB設(shè)備就可以被上位機識別了。
9、調(diào)用CH372提供的動態(tài)連接庫CH372.dll及其相應(yīng)的LIB文件CH372.Lib和頭文件CH372.h,以建立上位機的工序,調(diào)用CH372提供的庫函數(shù)CH375OpenDevice()、CH375CloseDevice(),用于打開和關(guān)閉設(shè)備,調(diào)用CH375WriteData(); CH375ReadData()接收下位機通過CH372發(fā)送上來的數(shù)據(jù),并根據(jù)CAN總線數(shù)據(jù)的格式將其封裝成CAN格式的數(shù)據(jù),提供對CAN數(shù)據(jù)的收發(fā)CANDownload(),CANUpload()。用C+設(shè)計相應(yīng)的圖形界面以實現(xiàn)和下位機的通信。結(jié)語在ABS ECU的研發(fā)項目中,我們使用了此轉(zhuǎn)換器將ECU的CAN數(shù)據(jù)轉(zhuǎn)換成USB數(shù)據(jù)和上位機通信,ECU上傳需監(jiān)控參數(shù),上位機下傳標(biāo)定參數(shù)。其硬件上使用ARM7內(nèi)核的LPC2119
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 中小學(xué)健康教育輔導(dǎo)方案
- 安全員A證考試檢測卷講解【培優(yōu)】附答案詳解
- 2025年上海健康醫(yī)學(xué)院單招職業(yè)技能考試題庫含答案詳解(新)
- 安全員A證考試考前沖刺測試卷及參考答案詳解【奪分金卷】
- 2025年安全員A證考試真題匯編含完整答案詳解【名校卷】
- 安全員A證考試綜合檢測模擬卷往年題考附答案詳解
- 先進(jìn)制造工藝綠色改造方案
- 安全員A證考試綜合提升測試卷帶答案詳解(奪分金卷)
- 物流行業(yè)運營管理流程優(yōu)化方案
- 生活污水處理調(diào)試方案詳解
- 2026年開封職業(yè)學(xué)院單招職業(yè)傾向性測試題庫及完整答案詳解1套
- 雨課堂學(xué)堂在線學(xué)堂云《美國社會與文化(浙理)》單元測試考核答案
- 風(fēng)險和機遇識別及應(yīng)對措施-氣侯變化
- 建筑施工監(jiān)理質(zhì)量評估報告范本
- 人工智能整合多組學(xué)數(shù)據(jù)優(yōu)化糖尿病診療
- 舒百寧納豆紅曲膠囊課件
- 2026年張家界航空工業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試必刷測試卷附答案
- XX企業(yè)核心優(yōu)勢與戰(zhàn)略發(fā)展
- 2025年中國低氘水行業(yè)市場全景分析及前景機遇研判報告
- 管道區(qū)段長管理辦法
- 2025年江西公務(wù)員考試(財經(jīng)管理)測試題及答案
評論
0/150
提交評論