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

基于CAN總線的嵌入式網絡控制器

發布時間:2010-4-8 11:31    發布者:我芯依舊
關鍵詞: CAN , 嵌入式 , 網絡控制器 , 總線
引言

CAN (Controller Area Network)現場總線是一種支持分布式控制系統或實時性控制的串行通信網絡.具有成本低、可靠性高、抗干擾能力和實時性強等特性,是最普及的工業現場總線之一。CAN總線現在己經廣泛應用于諸多領域.具有較強的市場競爭力,但要充分發揮它的組網控制功能,打破地域界限,實現遠程控制,就必須借助于現在被廣泛應用的以太網(Ethemet)技術。

1 系統設計方案

本文所設計的嵌入式協議轉換網關,可以實現CAN總線與以太網的互聯,即實現以太網能夠通過網關讀取CAN總線上的數據,同時也可以向CAN總線發送命令以實現上位機對現場設備的監控。如圖1網關架構圖所示。


圖1控制器架構圖

本系統的硬件要求功能強大,能夠提供足夠的平臺,因此選擇S3C2410X處理器。S3C2410X微處理器是Samsung公司為手持設備設計的低功耗、高集成度的基于ARM920T核的微處理器。S3C2410X內部沒有集成的以太網控制器,所以系統設計中選擇RTL8019AS控制器作為以太網控制器。另外S3C2410X中也沒有集成的CAN控制器,在此選擇MCP2510為CAN控制器,S3C2410X通過SPI端口控制MCP2510。

軟件設計方面,由于以太網協議比較復雜,由于所選的微處理器和以太網協議比較復雜,以及系統對時間要求比較苛刻.為了更好的管理微處理器,選擇了Linux操作系統作為軟件開發平臺。選擇在S3C2410X處理器上運行Linux操作系統,可以為以后的功能拓展打下一個很好的基礎,在此基礎上擴展功能,無須再改變處理器和操作系統。

2 系統硬件電路設計

本文確定采用ARM9控制器S3C2410芯片為核心微處理器,以及源代碼開放的“nux操作系統。其中硬件平臺南核心模塊和外同電路組成。核心模塊上設計有S3C2410X微處理器、SDRAM存儲器、F1ash存儲器。采用該核心模塊作為核心處理器,在硬件電路設計過程中只需設計其外圍電路。

2.1電源電路設計


圖2 系統5V電源電路原理圖

系統中電源的設計是至關重要的,因為它是系統工作的源動力,因此電源的設計也要非常謹慎.要考慮所設計的電源在達到系統穩定工作要求的同時,還要減少系統功耗。在該設計中,需要使用到5V,3.3V和1.8V的直流穩壓電源。由于ARM核心板內含有1.8v內核供電電源,因此只需提供5V和3.3V的供電電路,其電源電路分別如網2,圖3所示。


圖3系統3.3V電源電路原理圖

2.2復位電路設計

復位電路的設計是為了在系統工作異常時,能夠進行復位,使得系統重新同到正常狀態。當nRESET信號變為低時,ARM920T就會放棄所有正在執行的程序,然后從停止點以下的指令地址中取出指令,復位電路圖如4所示。


圖4系統復位電路原理圖

2.3串口電路設計

串行端口的本質功能是作為CPU和串行設備間的編碼轉換器,RS232串行接口電路用于網關系統與應用系統的短距離雙向串行通訊。在本設計中采用的是DB-9接口。在本設計中,虛擬機通過串口向目標機發送命令和接收命令,如在打開目標機時要啟動目標機的Linux系統,命令run loadlinux就是通過串口到達目標機的,同樣,還有一系列其他的命令語句,都是通過串口實現目標機與虛擬機的必要的命令通訊,串口的電路原理圖如下圖6所示。


圖5系統串口電路原理圖

圖中表示了RS-232接13與目標機之問的連接關系,它們之間包括了一個SP3232ECA電壓轉換芯片,SP3232ECA如圖中所示,DB-9是接至虛擬機端的,虛擬機需要的工作電壓為5v,而目標機即ARM核心板上的一r作電壓為3.3v,要在兩者問進行數據發送或接收時需進行電平轉換。SP3232ECA在接至目標機端時,R1OUT和R20UT串接電阻用來防止意外的邏輯混亂。

2.4 CAN接口電路設計

在S3C2410X處理器中沒有直接嵌入的CAN接口,所以要選擇獨立的CAN控制器。由于S3C2410X處理器設有SPI接口,MCP2510控制器的引腳設計中也包括了SPI接口,這樣CAN控制器MCP2510可以通過SPI接口與處理器的SPI接口相連,簡化端口電路的設計,所以設計中所選則MCP2510作為CAN控制器。

MCP2510主要由3部分組成:CAN協議引擎:用來為器件及其運行進行配置的控制邏輯和SRAM寄存器:SPI協議模塊。CAN協議引擎的功能是處理所有總線上的報文發送和接收。CPU通過SPI接口與器件進行通信。通過使用標準SPI讀寫命令對寄存器所有讀寫操作。MCP2510采用標準的4MHz晶體,內部寄存器的控制分頻系數來調節。它的輸出到總線的速率也可通過設置MCP2510的SPI接口與S3C2410X的SPIO相應的接口相連,實現CPU對其的控制。MCP2510控制器發送輸出和接收輸入引腳通過光電隔離連接到CAN總線收發器TJAl050上,光電隔離采用高速通信光耦6N137芯片,保證了節點之間在電氣上的完全隔離和獨立,提高了電路的穩定性和安全性。

2.5以太網接口電路設計

在本設計中RTL.8019AS是以太網控制的核心,10M以太網接口為系統提供了以太網接入的物理通道,它與S3C2410X的相應引腳相連,實現以太網的讀寫功能。RTL8019AS與S3C2410X相連的引腳如下表1所示。


表1 RTL8019AS與S3C2410X相連的引腳

3 系統軟件程序設計

3.1CAN控制器的驅動程序設計

CAN控制器的初始化流程圖如下圖6所示。其過程包括硬件使能、軟件復位、內部設置的初始化和啟動CAN等。


圖6 CAN控制器驅動流程圖

驅動程序的源文件共有三個:mcpcan.c,spi_cmd.c和spi.co要把三個源文件合并編譯鏈接成一個.O為后綴的驅動模塊。在Makefile中用了如下命令行:

$(EXEC):$(OBJS)
$(LD)$(LDFLAGS)-o$@S(OBJS)
即/usr/local/arm/2.95.3/bin/arm-linux-ld -r candrv.o mcpcan.o spi_cmd.o spi.o

因為對MCP2510這個CAN控制器芯片的操作是靠CPU給它發送SPI (串行外設接口}命令來實現的,所以要用到S3C2410的關于SPI的那螳特殊功能寄存器。

3.2MCP2510控制器應用程序

MCP2510控制器應用程序主要包括了接收和發送兩部分。報文發送函數為

void MCP2510_TX (int TxBuf,int IdType,unsigned int id,int DataLen.,char* data)

通過TxBuf參數指定發送到那個緩沖器(TXBUF0,TXBUFl,TXBUF2)。IdType決定發送報文幀的類型,STANDID表示標準數據幀,EXTID表承擴展數據幀。

報文接受函數為:void MCP251O_TX (int TxBuf, IdType,
unsigned int id.,int Data,char * data)通過TxBuf參數指定從哪個緩沖器接收((RXBUFO或RXBUFl)。接收后的報文幀的類型、幀ID、數據長度以數據內容分別保存在IdType,id,DataLen 和data中。

在應用程序中創建了一個線程send專門負責發送數據,再在主線程中接收數據到一個mepcan_data結構體中并打印出來。

ret=pthread_create(&id,NULL(void*) send,&data_send);
if(ret!=o){
printf("Create pthread error! \n");
exit (1);}
printf("Create pthread success. \n");

在send線程中對打開的設備接述符進行write操作,在主線程中對該設備描述符進行read操作。因為在驅動中已經考慮到了互斥,所以線程中沒有做并發處理。

4 結論

本文的創新點:本文對嵌入式網關設備發展情況及以太網與CAN總線相互連接與通訊問題進行深入的研究,在對嵌入式系統和網關設備的學習、分析比較的基礎上,選用功能強大的、具有很大擴展空聞的Linux操作系統和32位的S3C2410X處理器,作為研究開發平臺,針對S3C2410X處理器,完成其外圍硬件電路的設計,包含有電源電路、復位電路,為系統提供正常工作的條件;操作系統的完成參考ARM9嵌入式技術及Linux高級實踐教程中的建立、安裝、配置、移植等工作。完成了對CAN控制器MCP2510和以太網控制器RTL8019AS的硬件驅動。并在Linux下編寫了CAN總線和以太網的應用程序。

已經產生經濟效益200萬元。


作者:張海春,肖亞      來源:《微計算機信息》《嵌入式專SOC)2009年第2-2期
本文地址:http://www.qingdxww.cn/thread-10244-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • PIC18-Q71系列MCU概述
  • 無線充電基礎知識及應用培訓教程3
  • 基于CEC1712實現的處理器SPI FLASH固件安全彈性方案培訓教程
  • 5分鐘詳解定時器/計數器E和波形擴展!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 老司机狠狠k免费毛片 | 精品国产免费一区二区三区五区 | 国产99视频精品免费视频免里 | 丁香色婷婷国产精品视频 | 成人性生免费视频 | 99re最新地址获取精品 | 九九视频在线 | 好属妞这里只有精品久久 | 亚洲韩国日本欧美一区二区三区 | 成品人视频w免费观看w | 日日日日日操 | 国产麻豆视频网站 | 亚洲精品短视频 | 亚洲人成影院在线高清 | h视频在线观看免费观看 | 天天夜夜啦啦啦 | 国产一级理论片 | 欧美欲妇 | 免费观看国产精品视频 | 日韩网| 国产色婷婷亚洲 | 99热这里只有精品免费国产 | 亚洲男人天堂 | 国产91情侣在线精品国产 | 国产不卡毛片 | 7m视频导航在线视频 | 日韩男女视频 | 久久好色 | 在线a久青草视频在线观看g | 亚洲专区在线视频 | 欧美成人免费全网站大片 | 中国黄色一级视频 | 欧美tv| www.欧美成人 | 香蕉大伊亚洲人在线观看 | 99视频在线免费看 | 午夜手机视频 | 青青草国产 | 九九在线观看精彩视频 | 啪啪一级视频 | 天堂色综合 |