国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于ARM7的CAN-USB轉換器設計

發布時間:2010-8-2 16:43    發布者:lavida
關鍵詞: ARM7 , CAN-USB , 轉換器
ABS(防抱死剎車系統)ECU(電控單元)在研發過程中,為了實時確定其行車參數和控制參數,通常會使用標定技術,標定技術就是通過一定的命令對ECU上傳和讀取控制算法參數,以達到對其實時修改以尋求最優的技術。  

對于車載電控單元來說,其通常只有CAN總線通信接口,為了能實現上位機和ECU能直接進行通信,實現利用標定技術對ABS ECU 進行開發,我們設計了一款能實現CAN到USB的數據轉換器。  

CAN通信協議是一種用于汽車內部測量與執行部件之間的數據通信協議。而USB具有即插即用的優點,并且有較高的通信速率,對于實現上位機和下位機的通信進行標定十分方便。我們設計的數據轉換器采用了NXP公司的LPC2119 ARM7處理器,通過它成功地實現上位機和ECU的可靠通信和對下位機的標定。  

系統硬件設計  

LPC2119 ARM7處理器  

LPC2119是基于一個支持實時仿真和跟蹤的16/32 ARM7 TDMI-S CPU 的微控制器,并帶有128/256kB嵌入的高速Flash 存儲器。128 位寬度的存儲器接口和獨特的加速結構使32 位代碼能夠在最大時鐘速率下運行。  

USB轉換芯片CH372  

CH372 是一個USB 總線的通用設備接口芯片,在本地端,CH372 具有8 位數據總線和讀、寫、片選控制線以及中斷輸出,可以方便地掛接到控制器的系統總線上; CH372 內置了USB 通訊中的底層協議,在內置固件模式下,CH372自動處理默認端點0 的所有事務。  

系統設計  

轉換器直接使用USB的5V供電,使用了LM1117將5V電源轉換成3.3V和1.8V以供ARM處理器及其外圍模塊使用,對于CAN控制器輸出的邏輯電平用TJA1050轉換成差分電平輸出CH372的設計十分重要,外接電容用于CH372 內外部電源節點去耦。在LPC2119的各電壓引腳分別接了0.01mf的電容進行濾波。在USB轉換芯片的設計中,可選4.7kW電阻用于在電源斷電后將電解電容中的電能及時釋放掉,使VCC 及時下降到0V,確保在下次通電時CH372 能夠可靠地上電復位。為使CH372 能夠可靠復位,電源電壓從0V 上升到5V 的上升時間應該少于100ms,所以電容的容量和電阻的阻值都不能太大。用15pF 的獨石或高頻瓷片電容作為CH372的時鐘振蕩電路的起振電容。

系統硬件設計部分框圖如圖1。  

  
圖1 轉換器框圖  

系統軟件設計  

系統程序主要包括CAN控制器驅動程序,USB控制芯片CH372驅動程序,數據讀寫緩沖區的設計,以及如何調用CAN和USB的讀寫函數使數據的通信更好的同步。  

CAN驅動程序  

根據LPC2119微處理器CAN 控制器的特性,將CAN 的驅動程序分為3 個層次:  

1.硬件抽象層:將CAN 控制器的硬件特性用數據類型進行抽象,并提供CAN 控制器硬件操作的接口。對物理層的寄存器和相應地址影射,定義了CAN 控制器寄存器的數據類型和對寄存器的操作方法。  
2.功能函數層:CAN 控制器各種功能的實現函數,該層的函數利用硬件抽象層中對寄存器操作的接口來訪問CAN 控制器來實現各種CAN 控制器所能提供的功能。  
3.應用程序接口層:在該層中的主要提供給3 個函數,初始化CAN 控制器CANinit()、發送數據CANSendData()、接收數據CANRecieveData()。  

CH372驅動程序  

CH372 芯片在本地端提供了通用的被動并行接口。CH372 芯片的讀寫時序主要要求讀寫使能信號有一個2"10ms的持續時間,并且在a0=1時寫入命令,a0=0時讀寫數據。在本設計中,用LPC2119的IO口來表示CH372的各信號,并需要嚴格按照其時序要求用軟件模擬其讀寫時序,一個典型的寫數據子函數如下:  

USBWriteData(uint32 Data)  
{  
………………………  
IO0CLR=0x00000010; //a0=0,表示以下  
寫入為數據  
IO0PIN=Data; //向數據端口寫入數據  
IO0SET=0x00000020; //rd=1,讀信號無效  
IO0CLR=0x00000040; //wr=0,寫使能  
Delay8us(1); //延時8us,表示寫信號  
有效寬度  
IO0SET=0x00000060;  
…………………………  
}  

在以上程序中,對各端口的操作先后代表了CH372的讀寫時序信號的先后,適當的延時表示有效的寫/讀選通脈沖WR/RD的寬度,其典型值為90到10000ns,我們選擇25ms。同理可得寫命令,讀數據子函數:USBWriteCMD (uint32 CMD),USBReadData( )。調用以上子函數提供了發送和接收數據的函數: IRQ_CH372(void), UploadUSBData(unint32 Length,uint32 Data[])。  

環形緩沖區  

在本設計中,設計了兩個環形緩沖區,分別存放USB及CAN的數據,使其能同步發送,一個典型的緩沖區數據結構如下:  

struct CANRecRinBuf  
{  
Uint32 CANBuf[MAX];  
Uint32 WritePtr;  
Uint32 ReadPtr;  
}  

數據元素是無符號32位整數,MAX為環形緩沖區最大長度,WritePtr為讀指針,ReadPtr為寫指針。讀寫指針初始化為WritePtr = ReadPtr =0。通過CAN控制器接受的數據存放在環形緩沖區CANRecRinBuf中,再讀出數據從USB端輸出,保證了數據通信的可靠性。  

上位機監控界面  

安裝CH372的上位機驅動后,基于CH372的USB設備就可以被上位機識別了。調用CH372提供的動態連接庫CH372.dll及其相應的LIB文件CH372.Lib和頭文件CH372.h,以建立上位機的工序,調用CH372提供的庫函數CH375OpenDevice()、CH375CloseDevice(),用于打開和關閉設備,調用CH375WriteData(); CH375ReadData()接收下位機通過CH372發送上來的數據,并根據CAN總線數據的格式將其封裝成CAN格式的數據,提供對CAN數據的收發CANDownload(),CANUpload()。用C++設計相應的圖形界面以實現和下位機的通信。

結語  

在ABS ECU的研發項目中,我們使用了此轉換器將ECU的CAN數據轉換成USB數據和上位機通信,ECU上傳需監控參數,上位機下傳標定參數。其硬件上使用ARM7內核的LPC2119作為控制器,以及底層軟件的設計確保了轉換器在實際的ECU開發的CCP標定的工程中,在大量數據進行傳輸的過程中有較好的可靠性。
本文地址:http://www.qingdxww.cn/thread-18699-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 利用模擬開發工具生態系統進行安全電路設計
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設計風險
  • 更佳設計的解決方案——Microchip模擬開發生態系統
  • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 九九九九九九精品免费 | 丁香婷婷影音先锋5566 | 麻豆蜜桃传媒在线观看 | 欧美日韩精品国产一区二区 | 男人插入视频 | 亚洲香蕉久久一区二区三区四区 | 欧美人与动欧交视频 | 欧美激情不卡 | 99久久国内精品成人免费 | 天使萌一区二区在线观看 | 免费看h黄动漫网站网址 | 免费不卡中文字幕在线 | 国产精品爽爽va在线观看网站 | 久久婷婷五综合一区二区 | 在线观看精品视频网站www | www.亚洲5555.com | 国产黄在线观看免费观看软件视频 | 国产1区2区3区 | 99国内精品久久久久久久 | 久久黄色精品视频 | 成年人网址在线观看 | 亚洲国产高清视频 | 国产在线99 | 色综合合久久天天综合绕视看 | 男女在线视频 | 亚洲人成影院在线高清 | 成人黄色在线 | 1204曰韩欧美成人看片 | 日韩在线视频中文字幕 | 日韩精品1| 久久精品这里只有精品 | 99热这里只有精品9 99热这里只有精品88 | 亚洲v天堂| 欧美午夜不卡 | 国产资源网站 | 四虎影视永久地址www成人 | 国产欧美日韩在线观看精品 | 看国产黄色片 | 91免费国产视频 | 日本精品99 | 欧美曰韩 |