<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于A(yíng)RM與μClinux的RTU設計

基于A(yíng)RM與μClinux的RTU設計

作者: 時(shí)間:2008-08-20 來(lái)源:網(wǎng)絡(luò ) 收藏
在電力系統變電所以及電氣化鐵道牽引變電所遠動(dòng)控制系統中,遠程數據采集與監控終端()是關(guān)鍵設備,實(shí)現遙控、遙測、遙信等功能。
  采用工業(yè)控制計算機,擴展測控硬件接口電路,是常見(jiàn)的方法,但是這種方法成本高、體積大、耗電大。采用80C196等單片機RTU,由于單片機的運算處理和硬件擴展等能力較低,影響RTU的性能。而處理器設計的RTU,硬件上具有成本低、體積小、耗電省、處理能力強等優(yōu)點(diǎn);軟件上由于采用μ操作系統,有許多優(yōu)秀的應用程序成果可以利用。正是由于這些優(yōu)勢,采用和μ設計RTU已經(jīng)成為一個(gè)熱點(diǎn)[1]。
1 RTU硬件電路設計
1.1 RTU總體結構

  RTU的核心部分是計算機,包括處理器、存儲器、人機接口等。為了執行RTU的測控功能,需要擴展大量外圍接口電路。不同變電所的測控對象數量差別很大。為了提高RTU的通用性,一種普遍采用的可行的辦法是將測控電路模塊化。根據模塊化的設計思想以及S3C4510B[2]和μ[3]的特點(diǎn),RTU硬件總體結構設計的原理框圖如圖1。


  各種電路按功能設計成相應模塊,以母板總線(xiàn)為接口基礎。
  主板模塊以S3C4510B為核心。主要配置是:16M字節動(dòng)態(tài)隨機存儲器SDRAM(兩片HY57V651620B),2M字節的Flash(一片AM29LV160DB);處理器內部集成兩個(gè)異步串行通信接口,串口0和串口1;一個(gè)10Mbps以太網(wǎng)接口;看門(mén)狗與復位電路(MAX507);RTU母板總線(xiàn)驅動(dòng)電路。
  串口0作為控制臺,用于調試;串口1接LCD顯示屏和觸摸屏,實(shí)現當地監控的人機界面。
  測控接口電路主要有遙控模塊、遙信模塊(開(kāi)關(guān)量采集)和遙測模塊(模擬量采集)。遙控和搖信模塊由母板總線(xiàn)直接擴展。遙測模塊采用現場(chǎng)總線(xiàn)(CAN)通信接口。為此在RTU母板總線(xiàn)上擴展CAN總線(xiàn)通信模塊,實(shí)現與遙測模塊的通信。
  串口模塊(PC16C550)從母板總線(xiàn)上擴展。用該模塊連接調制解調器(MODEM),實(shí)現RTU遠程通信。
1.2 RTU母板總線(xiàn)
  RTU母板總線(xiàn)是測控硬件模塊擴展的基礎,又是處理器總線(xiàn)上的一個(gè)外設接口。
  為便于模塊的擴展,RTU母板總線(xiàn)定義如下:數據總線(xiàn)H-D0~H-D7;地址總線(xiàn)H-A0~H-A7;地址片選信號H-S0~H-S6;讀寫(xiě)控制信號H-WR和H-RD;地址鎖存控制信號H-ALE;中斷服務(wù)請求控制信號H-INT0~H-INT3;復位信號H-RESET。
  使用處理器的如下總線(xiàn)信號驅動(dòng)RTU母板總線(xiàn):地址總線(xiàn)A0~A11、數據總線(xiàn)D0~D7、讀使能控制信號nOE、寫(xiě)使能控制信號nWBE0、外設(I/O)地址片選信號nECS0,以及4根中斷控制信號線(xiàn)nINREQ0~nINREQ3。
1.2.1 總線(xiàn)驅動(dòng)電路
  為兼容測控接口電路較常用的器件,母板總線(xiàn)按照5V的TTL電平設計。S3C4510B總線(xiàn)是3.3V的CMOS電平。
  處理器總線(xiàn)與RTU母板總線(xiàn)存在速度和電平上的差別,不能直接相連,它們之間需要一個(gè)總線(xiàn)驅動(dòng)電路。
  總線(xiàn)驅動(dòng)電路是主板模塊的一部分。它實(shí)現處理器總線(xiàn)到RTU母板總線(xiàn)的接口擴展、電平轉換和驅動(dòng)??偩€(xiàn)驅動(dòng)接口電路如圖2。


  采用雙電源供電的雙向總線(xiàn)緩沖器74LVX4245,實(shí)現處理器數據總線(xiàn)與RTU母板數據總線(xiàn)之間的電平轉換和驅動(dòng)。
  三八譯碼器U1,將2K字節地址空間譯為8個(gè)地址片選信號,稱(chēng)為S0~S7,其中S0~S6由總線(xiàn)驅動(dòng)芯片74LS244驅動(dòng)后,作為RTU母板總線(xiàn)地址片選信號。
1.2.2 地址鎖存信號ALE實(shí)現
  一些常用的芯片,如CAN總線(xiàn)控制器SJA1000、時(shí)鐘芯片DS12887等,內部帶一個(gè)地址鎖存器,需要地址鎖存信號ALE,才能實(shí)現接口。S3C4510B沒(méi)有ALE信號,所以母板總線(xiàn)擴展ALE信號,才能實(shí)現這類(lèi)器件的接口。
  將U1的一個(gè)地址片選信號S7取反,寫(xiě)數據到S7地址,可以模擬出ALE控制信號,并實(shí)現ALE的功能。
1.2.3 RTU母板總線(xiàn)的地址和訪(fǎng)問(wèn)速度
  RTU母板總線(xiàn)作為處理器的一個(gè)外設,其地址和訪(fǎng)問(wèn)速度由處理器決定。
  S3C4510B總線(xiàn)統一編址。nECS0是外設地址片選信號,占外設地址空間起始的16K字節。
  nECS0接U3使能端,決定RTU母板總線(xiàn)的基地址和訪(fǎng)問(wèn)速度。S3C4510B控制寄存器EXTDBWTH第20位置1、21位置0,表示nECS0按8位方式尋址。寄存器REFEXTCON的低10位設為0x360,則nECS0的基地址是0x3600000。
  置控制寄存器EXTACON0為0x0fff,則S3C4510B對RTU母板總線(xiàn)的讀寫(xiě)時(shí)間是7個(gè)CPU時(shí)鐘周期。


1.3 RTU母板總線(xiàn)的模塊擴展
  圖3是擴展CAN總線(xiàn)通信模塊的電路原理圖。CAN總線(xiàn)模塊以SJA1000為核心,通信數據經(jīng)高速光電耦合器G1、G2隔離,82C250驅動(dòng),從接線(xiàn)端子J2連接到外部CAN總線(xiàn)。P1是1W的5V轉5V的DC/DC電源模塊。CAN模塊使用H-S0作為片選信號,其基地址是0x3600000。
  圖3給出了SJA1000與RTU母板總線(xiàn)的連接關(guān)系。SJA1000總線(xiàn)兼容TTL電平,數據總線(xiàn)和中斷信號線(xiàn)有驅動(dòng)能力,可以直接與母板總線(xiàn)接口。由圖3可見(jiàn),從RTU母板總線(xiàn)上擴展測控電路簡(jiǎn)單方便。
  母板總線(xiàn)的其它模塊擴展方法類(lèi)似。
2 RTU軟件設計
  μClinux從linux操作系統改進(jìn)而來(lái),適合運行在S3C4510B這種無(wú)內存管理單元MMU的處理器中?;诠た貦C-linux的RTU程序,可以很方便地移植到-μClinux設計的RTU中。
  RTU程序的開(kāi)發(fā),包括應用程序開(kāi)發(fā)和驅動(dòng)程序開(kāi)發(fā)兩部分,全部采用C語(yǔ)言編寫(xiě)。
2.1 RTU應用程序調試
  使用JTAG仿真器工具和相應工具軟件,將μClinux操作系統燒寫(xiě)到主板模塊的Flash中。μClinux在主板模塊上運行后,可以使用μClinux提供的工具軟件在Flash上更新自身及應用程序。
  連接PC機的串口與主板模塊的串口0。用Windows超級終端,與主板模塊建立交互關(guān)系。將主板模塊與PC機接入同一個(gè)局域網(wǎng),配置合適的IP地址。
  使用文件傳輸服務(wù)工具FTP或TFTP,將PC機編譯的μClinux應用程序下載到主板模塊/ramdisk目錄中,改為可執行屬性后執行。應用程序中加入printf()函數,輸出執行過(guò)程中的調試信息。
2.2 JFFS2文件系統應用
  JFFS2(The Journalling Flash File System, version 2)是一種為嵌入式系統Flash存儲文件而設計的文件系統。μClinux編譯選項,加入JFFS2文件系統。將2MB的Flash分成mtd0和mtd1兩個(gè)區,各為1MB。mtd0是從0地址開(kāi)始的存儲空間,用于存儲μClinux操作系統鏡像文件。mtd1用于存儲應用程序。μClinux的/dev目錄中,有字符型設備文件mtd0、mtd1和對應的塊設備文件mtdblock0、mtdblock1。
  有了JFFS2文件系統支持,使用文件拷貝操作方法,即可將RTU的操作系統和應用程序在Flash上更新。RTU的開(kāi)發(fā)和現場(chǎng)調試,可以脫離JTAG仿真器工具,給RTU開(kāi)發(fā)和維護提供了方便。
2.3 更新μClinux的步驟
  (1)用FTP傳輸操作系統文件IMAGE.ROM到/ramdisk/目錄;(2)擦除mtd0分區:eraseall /dev/mtd0;(3)將IMAGE.ROM寫(xiě)入mtd0:cp/ramdisk/IMAGE.ROM/dev/mtd0。
  當提示操作完成后,復位主板模塊即運行新的操作系統。由于μClinux操作系統在SDRAM中運行,更新操作系統過(guò)程中不能停電。
2.4 應用程序在Flash上的更新與執行
  (1)安裝mtd1分區:mount-t-jffs2 /dev/mtdblock1/mnt。此操作將mtd1分區按塊設備方式安裝在μClinux的/mnt目錄中。在/mnt目錄中添加的文件,存儲在Flash中,不會(huì )因掉電而丟失。(2)將應用程序myapp下載到/ramdisk目錄,然后cp /ramdisk/myapp /mnt。即完成了應用程序在Flash上的更新。(3)修改文件屬性:chmod 755 /mnt/myapp。(4)執行文件:./mnt/myapp。
  μClinux啟動(dòng)后,讀取并執行/proc/rc文件中的命令。要使myapp應用程序自動(dòng)執行,在rc文件中,加入
  mount -t jffs2 /dev/mtdblock1 /mnt
  ./mnt/myapp
  系統啟動(dòng)后,自動(dòng)安裝mtd1分區,執行應用程序myapp。
  基于本文設計的RTU,連接到一個(gè)電網(wǎng)數據采集與監控系統,經(jīng)試運行,性能穩定可靠。證明文中設計的RTU的原理是正確的。
參考文獻
1 嚴亞勤,吳文傳,張伯明. 基于嵌入式Linux的網(wǎng)絡(luò )RTU[J]. 電力自動(dòng)化設備,2004;24(9):27~29
2 μm_s3c4510b_rev1.pdf. www.samsung.com.
3 皺思秩.嵌入式Linux設計與應用[M].北京:清華大學(xué)出版社,2002.第1版



關(guān)鍵詞: 設計 RTU Clinux ARM 基于

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>