基于ARM的CAN網(wǎng)絡(luò)打印服務(wù)器設(shè)計
發(fā)布時間:2008/8/16 0:00:00 訪問次數(shù):472
1 引言
隨著科學(xué)技術(shù)水平的提高,智能儀器儀表或微機裝置等智能電子設(shè)備(ied)已廣泛應(yīng)用于工業(yè)現(xiàn)場。
網(wǎng)絡(luò)打印服務(wù)器(network print server)可為智能電子設(shè)備提供可靠的共享打印服務(wù),節(jié)約系統(tǒng)成本。can總線是一種支持分布或?qū)崟r控制的現(xiàn)場總線,具有高可靠性、實時性和靈活性,廣泛應(yīng)用于汽車控制、工業(yè)控制、機器人、家用電器等領(lǐng)域。can總線已成為工業(yè)現(xiàn)場首選現(xiàn)場總線之一。設(shè)計的網(wǎng)絡(luò)打印服務(wù)器采用can總線作為數(shù)據(jù)通訊網(wǎng)絡(luò),每個網(wǎng)絡(luò)打印服務(wù)器可與幾十甚至上百個智能電子設(shè)備構(gòu)成總線型網(wǎng)絡(luò),采用屏蔽雙絞線作為通訊介質(zhì)減少節(jié)點干擾。通訊速率在10 kb/s~1 mb/s范圍內(nèi)可選。
2 系統(tǒng)硬件設(shè)計
網(wǎng)絡(luò)打印服務(wù)器的核心處理器采用philips公司的lpc2129。lpc2129是一款支持實時仿真和跟蹤的16/32位arm7tdmi-s cpu“微控制器”,帶有256 kb的嵌入式高速flash存儲器,16 kb支持8/16/32位訪問的靜態(tài)ram,128位寬度的存儲器接口和獨特的加速結(jié)構(gòu),可使32位代碼在最大時鐘速率下運行。而對代碼有嚴(yán)格控制要求的應(yīng)用則可使用16位thumb模式。lpc2129采用64引腳封裝,低功耗,內(nèi)帶有46個gpio,2個32位定時器,2路can控制器,多路串行接口,9路外部中斷。選取該處理器主要考慮其內(nèi)部資源豐富,無需擴展存儲器、can控制器,且性能優(yōu)異,抗干擾能力強;價格低廉,具有極高的性價比。
系統(tǒng)硬件電路設(shè)計框圖如圖2所示。調(diào)試接口直接與lpc2129連接,用于調(diào)試開發(fā);由max232-epe等器件構(gòu)成的串口電路用于程序下載;看門狗負(fù)責(zé)監(jiān)控程序是否出現(xiàn)異;蚺茱w,若出現(xiàn)故障時,看門狗使整個系統(tǒng)復(fù)位;而電源電路由sp220-15d5d和dup75-05s05等器件構(gòu)成,為網(wǎng)絡(luò)打印服務(wù)器提供工作電源。
網(wǎng)絡(luò)打印機服務(wù)器的核心電路是can及打印機接口電路,如圖3所示。打印機接口電路部分由光耦ps2701和電容電阻等元件構(gòu)成,lpc2129的p0和p1端口引腳經(jīng)該接口電路與針式打印機連接,實現(xiàn)打印功能;can總線接口電路由6n137和pca82-c250等器件構(gòu)成,lpc2129內(nèi)部can控制器完成can協(xié)議處理,pca82-c250可提高節(jié)點的驅(qū)動能力。為了增強can總線節(jié)點的抗干擾能力,lpc2129的cntx和cnrx不能直接與pca82c250的txd和rxd相連,應(yīng)經(jīng)高速光耦6n137后再與pca82c250相連,從而實現(xiàn)總線上各can節(jié)點間的電氣隔離。高速光耦電路中的電源vcc和vdd必須完全隔離,采用隔離型電源模塊dup75-05s05實現(xiàn)隔離。pca82c250與can總線的接口部分也采取了抗干擾措施,canh和canl與地之間分別并聯(lián)一只1 000 pf/2 kv的電容,用于濾除總線上的高頻干擾,并具有一定的抗電磁輻射性能。另外,在can總線接人端與地之間連接一個瞬態(tài)電壓抑制二極管(tvs),保護(hù)pca82c250免受esd和emi浪涌脈沖。通訊信號傳輸?shù)綄?dǎo)線的端點時產(chǎn)生反射,并干擾正常信號傳輸,在pca82c250的兩根輸出數(shù)據(jù)線之間接一120 ω的終端電阻可抑制反射信號。若忽略該終端電阻,則大大降低通訊的抗干擾性和可靠性,甚至導(dǎo)致無法通訊。
3 系統(tǒng)軟件設(shè)計
網(wǎng)絡(luò)打印服務(wù)器與各個智能電子設(shè)備之間采用主從方式,通過查詢完成工作。軟件主要由網(wǎng)絡(luò)打印服務(wù)主程序、can驅(qū)動程序、打印接口驅(qū)動程序、定時器中斷程序以及l(fā)pc2129啟動程序組成。
lpc2129啟動程序采用匯編語言編寫,主要包括異常中斷向量表、堆棧初始化、目標(biāo)板初始化、存儲系統(tǒng)初始化等。定時器中斷程序是定時器0的中斷處理程序,用于完成各種定時或延時功能,為打印和can通訊提供必要支持。打印接口驅(qū)動程序包括打印初始化和發(fā)送打印數(shù)據(jù)。打印初始化程序用于設(shè)置arm的p0和p1端口部分引腳的工作方式,初始化打印機。發(fā)送打印數(shù)據(jù)程序首先檢測打印機是否忙,若打印機忙則等待,若空閑則發(fā)送要打印的數(shù)據(jù)。然后選通打印機,最后回收打印機,即不選通并將數(shù)據(jù)寄存器置位。
can驅(qū)動程序主要包括初始化can控制器、發(fā)送報文和接收報文。初始化can控制器主要包括設(shè)置相應(yīng)引腳功能、工作方式、波特率參數(shù)以及出錯警告界限等。
lpc2129中有全局驗收濾波器,該模塊可為can控制器提供接收標(biāo)識符的查詢功能(驗收濾波)。另外,驗收濾波器為選擇的標(biāo)準(zhǔn)標(biāo)識符提供了fulican-style自動接收功能。在初始化can控制器中將驗收濾波器設(shè)置為旁路,也可以根據(jù)實際需要進(jìn)行設(shè)置,讓其參與接收濾波的工作,有助于改善節(jié)點接收信息的選擇性。完成初始化can控制器后,即可發(fā)送和接收報文信息。
發(fā)送報文驅(qū)動程序主要實現(xiàn)報文發(fā)送,發(fā)送報文流程如圖4所示。發(fā)送報文時。將待發(fā)送的數(shù)據(jù)打包成符合can發(fā)送幀格式的數(shù)據(jù)送人can控制器的發(fā)送緩存區(qū)。在向發(fā)送緩沖區(qū)送報文之前,必須判斷發(fā)送緩沖區(qū)是否空閑。若發(fā)送緩沖區(qū)繁忙則返回失;若空閑則將數(shù)據(jù)寫人發(fā)送緩沖區(qū),寫入完成后再判斷寫入是否成功,寫入成功后啟動發(fā)送命令,發(fā)送緩沖區(qū)中的數(shù)據(jù),然后返回狀態(tài)標(biāo)志。
接收驅(qū)動程序主要完成報文接收以及其
1 引言
隨著科學(xué)技術(shù)水平的提高,智能儀器儀表或微機裝置等智能電子設(shè)備(ied)已廣泛應(yīng)用于工業(yè)現(xiàn)場。
網(wǎng)絡(luò)打印服務(wù)器(network print server)可為智能電子設(shè)備提供可靠的共享打印服務(wù),節(jié)約系統(tǒng)成本。can總線是一種支持分布或?qū)崟r控制的現(xiàn)場總線,具有高可靠性、實時性和靈活性,廣泛應(yīng)用于汽車控制、工業(yè)控制、機器人、家用電器等領(lǐng)域。can總線已成為工業(yè)現(xiàn)場首選現(xiàn)場總線之一。設(shè)計的網(wǎng)絡(luò)打印服務(wù)器采用can總線作為數(shù)據(jù)通訊網(wǎng)絡(luò),每個網(wǎng)絡(luò)打印服務(wù)器可與幾十甚至上百個智能電子設(shè)備構(gòu)成總線型網(wǎng)絡(luò),采用屏蔽雙絞線作為通訊介質(zhì)減少節(jié)點干擾。通訊速率在10 kb/s~1 mb/s范圍內(nèi)可選。
2 系統(tǒng)硬件設(shè)計
網(wǎng)絡(luò)打印服務(wù)器的核心處理器采用philips公司的lpc2129。lpc2129是一款支持實時仿真和跟蹤的16/32位arm7tdmi-s cpu“微控制器”,帶有256 kb的嵌入式高速flash存儲器,16 kb支持8/16/32位訪問的靜態(tài)ram,128位寬度的存儲器接口和獨特的加速結(jié)構(gòu),可使32位代碼在最大時鐘速率下運行。而對代碼有嚴(yán)格控制要求的應(yīng)用則可使用16位thumb模式。lpc2129采用64引腳封裝,低功耗,內(nèi)帶有46個gpio,2個32位定時器,2路can控制器,多路串行接口,9路外部中斷。選取該處理器主要考慮其內(nèi)部資源豐富,無需擴展存儲器、can控制器,且性能優(yōu)異,抗干擾能力強;價格低廉,具有極高的性價比。
系統(tǒng)硬件電路設(shè)計框圖如圖2所示。調(diào)試接口直接與lpc2129連接,用于調(diào)試開發(fā);由max232-epe等器件構(gòu)成的串口電路用于程序下載;看門狗負(fù)責(zé)監(jiān)控程序是否出現(xiàn)異;蚺茱w,若出現(xiàn)故障時,看門狗使整個系統(tǒng)復(fù)位;而電源電路由sp220-15d5d和dup75-05s05等器件構(gòu)成,為網(wǎng)絡(luò)打印服務(wù)器提供工作電源。
網(wǎng)絡(luò)打印機服務(wù)器的核心電路是can及打印機接口電路,如圖3所示。打印機接口電路部分由光耦ps2701和電容電阻等元件構(gòu)成,lpc2129的p0和p1端口引腳經(jīng)該接口電路與針式打印機連接,實現(xiàn)打印功能;can總線接口電路由6n137和pca82-c250等器件構(gòu)成,lpc2129內(nèi)部can控制器完成can協(xié)議處理,pca82-c250可提高節(jié)點的驅(qū)動能力。為了增強can總線節(jié)點的抗干擾能力,lpc2129的cntx和cnrx不能直接與pca82c250的txd和rxd相連,應(yīng)經(jīng)高速光耦6n137后再與pca82c250相連,從而實現(xiàn)總線上各can節(jié)點間的電氣隔離。高速光耦電路中的電源vcc和vdd必須完全隔離,采用隔離型電源模塊dup75-05s05實現(xiàn)隔離。pca82c250與can總線的接口部分也采取了抗干擾措施,canh和canl與地之間分別并聯(lián)一只1 000 pf/2 kv的電容,用于濾除總線上的高頻干擾,并具有一定的抗電磁輻射性能。另外,在can總線接人端與地之間連接一個瞬態(tài)電壓抑制二極管(tvs),保護(hù)pca82c250免受esd和emi浪涌脈沖。通訊信號傳輸?shù)綄?dǎo)線的端點時產(chǎn)生反射,并干擾正常信號傳輸,在pca82c250的兩根輸出數(shù)據(jù)線之間接一120 ω的終端電阻可抑制反射信號。若忽略該終端電阻,則大大降低通訊的抗干擾性和可靠性,甚至導(dǎo)致無法通訊。
3 系統(tǒng)軟件設(shè)計
網(wǎng)絡(luò)打印服務(wù)器與各個智能電子設(shè)備之間采用主從方式,通過查詢完成工作。軟件主要由網(wǎng)絡(luò)打印服務(wù)主程序、can驅(qū)動程序、打印接口驅(qū)動程序、定時器中斷程序以及l(fā)pc2129啟動程序組成。
lpc2129啟動程序采用匯編語言編寫,主要包括異常中斷向量表、堆棧初始化、目標(biāo)板初始化、存儲系統(tǒng)初始化等。定時器中斷程序是定時器0的中斷處理程序,用于完成各種定時或延時功能,為打印和can通訊提供必要支持。打印接口驅(qū)動程序包括打印初始化和發(fā)送打印數(shù)據(jù)。打印初始化程序用于設(shè)置arm的p0和p1端口部分引腳的工作方式,初始化打印機。發(fā)送打印數(shù)據(jù)程序首先檢測打印機是否忙,若打印機忙則等待,若空閑則發(fā)送要打印的數(shù)據(jù)。然后選通打印機,最后回收打印機,即不選通并將數(shù)據(jù)寄存器置位。
can驅(qū)動程序主要包括初始化can控制器、發(fā)送報文和接收報文。初始化can控制器主要包括設(shè)置相應(yīng)引腳功能、工作方式、波特率參數(shù)以及出錯警告界限等。
lpc2129中有全局驗收濾波器,該模塊可為can控制器提供接收標(biāo)識符的查詢功能(驗收濾波)。另外,驗收濾波器為選擇的標(biāo)準(zhǔn)標(biāo)識符提供了fulican-style自動接收功能。在初始化can控制器中將驗收濾波器設(shè)置為旁路,也可以根據(jù)實際需要進(jìn)行設(shè)置,讓其參與接收濾波的工作,有助于改善節(jié)點接收信息的選擇性。完成初始化can控制器后,即可發(fā)送和接收報文信息。
發(fā)送報文驅(qū)動程序主要實現(xiàn)報文發(fā)送,發(fā)送報文流程如圖4所示。發(fā)送報文時。將待發(fā)送的數(shù)據(jù)打包成符合can發(fā)送幀格式的數(shù)據(jù)送人can控制器的發(fā)送緩存區(qū)。在向發(fā)送緩沖區(qū)送報文之前,必須判斷發(fā)送緩沖區(qū)是否空閑。若發(fā)送緩沖區(qū)繁忙則返回失;若空閑則將數(shù)據(jù)寫人發(fā)送緩沖區(qū),寫入完成后再判斷寫入是否成功,寫入成功后啟動發(fā)送命令,發(fā)送緩沖區(qū)中的數(shù)據(jù),然后返回狀態(tài)標(biāo)志。
接收驅(qū)動程序主要完成報文接收以及其
熱門點擊
- 教你做2SD315AI的驅(qū)動電路設(shè)計
- 1-Wire總線與DS18B20應(yīng)用仿真
- 在嵌入式系統(tǒng)中應(yīng)用NAND Flash閃存作
- Molex推出新系列2.00mm間距SMT線
- 韋爾推出用于超高速接口的靜電保護(hù)芯片ESDA
- 基于μPD780822型單片機的客車CAN總
- 基于USB的ARINC429總線接口模塊設(shè)計
- 賽普拉斯2Mb/8Mb nvSRAM無需電池
- ST7267單片機與SIM卡的接口設(shè)計
- 基于鐵電存儲器FM25640在電表數(shù)據(jù)存儲中
推薦技術(shù)資料
- 扇出型面板級封裝(FOPLP)
- 全球首款無掩模光刻系統(tǒng)—DSP
- 紫光閃存E5200 PCIe 5.0 企業(yè)級
- NAND Flash 技術(shù)和系
- 高性能DIMM 內(nèi)存數(shù)據(jù)技術(shù)封
- PCIe Gen4 SSD主控
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究