《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ARM與μClinux系統(tǒng)的RTU設(shè)計(jì)
基于ARM與μClinux系統(tǒng)的RTU設(shè)計(jì)
摘要: 采用工業(yè)控制計(jì)算機(jī),擴(kuò)展測(cè)控硬件接口電路,,是RTU設(shè)計(jì)常見(jiàn)的方法,,但是這種方法設(shè)計(jì)的RTU成本高、體積大,、耗電大,。采用80C196等單片機(jī)設(shè)計(jì)RTU,由于單片機(jī)的運(yùn)算處理和硬件擴(kuò)展等能力較低,,影響RTU的性能,。而基于ARM處理器設(shè)計(jì)的RTU,硬件上具有成本低,、體積小,、耗電省、處理能力強(qiáng)等優(yōu)點(diǎn),;軟件上由于采用μClinux操作系統(tǒng),,有許多優(yōu)秀的應(yīng)用程序成果可以利用。正是由于這些優(yōu)勢(shì),,采用ARM和μClinux設(shè)計(jì)RTU已經(jīng)成為一個(gè)熱點(diǎn)
Abstract:
Key words :

       在電力系統(tǒng)變電所以及電氣化鐵道牽引變電所遠(yuǎn)動(dòng)控制系統(tǒng)中,遠(yuǎn)程數(shù)據(jù)采集與監(jiān)控終端(RTU)是關(guān)鍵設(shè)備,,實(shí)現(xiàn)遙控,、遙測(cè)、遙信等功能,。

       采用工業(yè)控制計(jì)算機(jī),,擴(kuò)展測(cè)控硬件接口電路,是RTU設(shè)計(jì)常見(jiàn)的方法,,但是這種方法設(shè)計(jì)的RTU成本高,、體積大,、耗電大。采用80C196等單片機(jī)設(shè)計(jì)RTU,,由于單片機(jī)的運(yùn)算處理和硬件擴(kuò)展等能力較低,,影響RTU的性能。而基于ARM處理器設(shè)計(jì)的RTU,,硬件上具有成本低,、體積小、耗電省,、處理能力強(qiáng)等優(yōu)點(diǎn),;軟件上由于采用μClinux操作系統(tǒng),有許多優(yōu)秀的應(yīng)用程序成果可以利用,。正是由于這些優(yōu)勢(shì),,采用ARM和μClinux設(shè)計(jì)RTU已經(jīng)成為一個(gè)熱點(diǎn)[1]。

       1 RTU硬件電路設(shè)計(jì)

       1.1 RTU總體結(jié)構(gòu)
  

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

       各種電路按功能設(shè)計(jì)成相應(yīng)模塊,以母板總線為接口基礎(chǔ),。
  

       主板模塊以S3C4510B為核心,。主要配置是:16M字節(jié)動(dòng)態(tài)隨機(jī)存儲(chǔ)器SDRAM(兩片HY57V651620B),2M字節(jié)的Flash(一片AM29LV160DB),;處理器內(nèi)部集成兩個(gè)異步串行通信接口,,串口0和串口1;一個(gè)10Mbps以太網(wǎng)接口,;看門(mén)狗與復(fù)位電路(MAX507),;RTU母板總線驅(qū)動(dòng)電路。
  

       串口0作為控制臺(tái),,用于調(diào)試,;串口1接LCD顯示屏和觸摸屏,實(shí)現(xiàn)當(dāng)?shù)乇O(jiān)控的人機(jī)界面。
  

       測(cè)控接口電路主要有遙控模塊,、遙信模塊(開(kāi)關(guān)量采集)和遙測(cè)模塊(模擬量采集),。遙控和搖信模塊由母板總線直接擴(kuò)展。遙測(cè)模塊采用現(xiàn)場(chǎng)總線(CAN)通信接口,。為此在RTU母板總線上擴(kuò)展CAN總線通信模塊,,實(shí)現(xiàn)與遙測(cè)模塊的通信。
  

       串口模塊(PC16C550)從母板總線上擴(kuò)展,。用該模塊連接調(diào)制解調(diào)器(MODEM),,實(shí)現(xiàn)RTU遠(yuǎn)程通信。

       1.2 RTU母板總線
  

       RTU母板總線是測(cè)控硬件模塊擴(kuò)展的基礎(chǔ),,又是處理器總線上的一個(gè)外設(shè)接口,。
  

       為便于模塊的擴(kuò)展,RTU母板總線定義如下:數(shù)據(jù)總線H-D0~H-D7,;地址總線H-A0~H-A7,;地址片選信號(hào)H-S0~H-S6;讀寫(xiě)控制信號(hào)H-WR和H-RD,;地址鎖存控制信號(hào)H-ALE,;中斷服務(wù)請(qǐng)求控制信號(hào)H-INT0~H-INT3;復(fù)位信號(hào)H-RESET,。
  

       使用處理器的如下總線信號(hào)驅(qū)動(dòng)RTU母板總線:地址總線A0~A11,、數(shù)據(jù)總線D0~D7、讀使能控制信號(hào)nOE,、寫(xiě)使能控制信號(hào)nWBE0,、外設(shè)(I/O)地址片選信號(hào)nECS0,以及4根中斷控制信號(hào)線nINREQ0~nINREQ3,。

       1.2.1 總線驅(qū)動(dòng)電路
  

       為兼容測(cè)控接口電路較常用的器件,,母板總線按照5V的TTL電平設(shè)計(jì)。S3C4510B總線是3.3V的CMOS電平,。
  

       處理器總線與RTU母板總線存在速度和電平上的差別,,不能直接相連,它們之間需要一個(gè)總線驅(qū)動(dòng)電路,。
  

       總線驅(qū)動(dòng)電路是主板模塊的一部分,。它實(shí)現(xiàn)處理器總線到RTU母板總線的接口擴(kuò)展、電平轉(zhuǎn)換和驅(qū)動(dòng),??偩€驅(qū)動(dòng)接口電路如圖2。

       采用雙電源供電的雙向總線緩沖器74LVX4245,實(shí)現(xiàn)處理器數(shù)據(jù)總線與RTU母板數(shù)據(jù)總線之間的電平轉(zhuǎn)換和驅(qū)動(dòng),。
  

       三八譯碼器U1,將2K字節(jié)地址空間譯為8個(gè)地址片選信號(hào),稱(chēng)為S0~S7,其中S0~S6由總線驅(qū)動(dòng)芯片74LS244驅(qū)動(dòng)后,,作為RTU母板總線地址片選信號(hào),。

       1.2.2 地址鎖存信號(hào)ALE實(shí)現(xiàn)
  

       一些常用的芯片,如CAN總線控制器SJA1000,、時(shí)鐘芯片DS12887等,,內(nèi)部帶一個(gè)地址鎖存器,需要地址鎖存信號(hào)ALE,,才能實(shí)現(xiàn)接口,。S3C4510B沒(méi)有ALE信號(hào),所以母板總線擴(kuò)展ALE信號(hào),,才能實(shí)現(xiàn)這類(lèi)器件的接口,。
  

       將U1的一個(gè)地址片選信號(hào)S7取反,寫(xiě)數(shù)據(jù)到S7地址,,可以模擬出ALE控制信號(hào),,并實(shí)現(xiàn)ALE的功能。

       1.2.3 RTU母板總線的地址和訪問(wèn)速度
  

       RTU母板總線作為處理器的一個(gè)外設(shè),,其地址和訪問(wèn)速度由處理器決定,。
  

       S3C4510B總線統(tǒng)一編址。nECS0是外設(shè)地址片選信號(hào),,占外設(shè)地址空間起始的16K字節(jié),。
  

       nECS0接U3使能端,決定RTU母板總線的基地址和訪問(wèn)速度,。S3C4510B控制寄存器EXTDBWTH第20位置1,、21位置0,表示nECS0按8位方式尋址,。寄存器REFEXTCON的低10位設(shè)為0x360,,則nECS0的基地址是0x3600000。
  

       置控制寄存器EXTACON0為0x0fff,,則S3C4510B對(duì)RTU母板總線的讀寫(xiě)時(shí)間是7個(gè)CPU時(shí)鐘周期,。

       1.3 基于RTU母板總線的模塊擴(kuò)展
  

       圖3是擴(kuò)展CAN總線通信模塊的電路原理圖。CAN總線模塊以SJA1000為核心,,通信數(shù)據(jù)經(jīng)高速光電耦合器G1,、G2隔離,82C250驅(qū)動(dòng),,從接線端子J2連接到外部CAN總線,。P1是1W的5V轉(zhuǎn)5V的DC/DC電源模塊。CAN模塊使用H-S0作為片選信號(hào),,其基地址是0x3600000,。
  

       圖3給出了SJA1000與RTU母板總線的連接關(guān)系。SJA1000總線兼容TTL電平,數(shù)據(jù)總線和中斷信號(hào)線有驅(qū)動(dòng)能力,,可以直接與母板總線接口,。由圖3可見(jiàn),從RTU母板總線上擴(kuò)展測(cè)控電路簡(jiǎn)單方便,。
  

       基于母板總線的其它模塊擴(kuò)展方法類(lèi)似,。

       2 RTU軟件設(shè)計(jì)
  

       μClinux從linux操作系統(tǒng)改進(jìn)而來(lái),適合運(yùn)行在S3C4510B這種無(wú)內(nèi)存管理單元MMU的處理器中,?;诠た貦C(jī)-linux的RTU程序,可以很方便地移植到ARM-μClinux設(shè)計(jì)的RTU中,。
  

       RTU程序的開(kāi)發(fā),,包括應(yīng)用程序開(kāi)發(fā)和驅(qū)動(dòng)程序開(kāi)發(fā)兩部分,全部采用C語(yǔ)言編寫(xiě),。

       2.1 RTU應(yīng)用程序調(diào)試
  

       使用JTAG仿真器工具和相應(yīng)工具軟件,,將μClinux操作系統(tǒng)燒寫(xiě)到主板模塊的Flash中。μClinux在主板模塊上運(yùn)行后,,可以使用μClinux提供的工具軟件在Flash上更新自身及應(yīng)用程序,。
  

       連接PC機(jī)的串口與主板模塊的串口0。用Windows超級(jí)終端,,與主板模塊建立交互關(guān)系,。將主板模塊與PC機(jī)接入同一個(gè)局域網(wǎng),配置合適的IP地址,。
  

       使用文件傳輸服務(wù)工具FTP或TFTP,,將PC機(jī)編譯的μClinux應(yīng)用程序下載到主板模塊/ramdisk目錄中,改為可執(zhí)行屬性后執(zhí)行,。應(yīng)用程序中加入printf()函數(shù),,輸出執(zhí)行過(guò)程中的調(diào)試信息。

       2.2 JFFS2文件系統(tǒng)應(yīng)用
  

       JFFS2(The Journalling Flash File System, version 2)是一種為嵌入式系統(tǒng)Flash存儲(chǔ)文件而設(shè)計(jì)的文件系統(tǒng),。μClinux編譯選項(xiàng),,加入JFFS2文件系統(tǒng)。將2MB的Flash分成mtd0和mtd1兩個(gè)區(qū),,各為1MB,。mtd0是從0地址開(kāi)始的存儲(chǔ)空間,用于存儲(chǔ)μClinux操作系統(tǒng)鏡像文件,。mtd1用于存儲(chǔ)應(yīng)用程序,。μClinux的/dev目錄中,有字符型設(shè)備文件mtd0,、mtd1和對(duì)應(yīng)的塊設(shè)備文件mtdblock0,、mtdblock1,。
  

       有了JFFS2文件系統(tǒng)支持,使用文件拷貝操作方法,,即可將RTU的操作系統(tǒng)和應(yīng)用程序在Flash上更新,。RTU的開(kāi)發(fā)和現(xiàn)場(chǎng)調(diào)試,可以脫離JTAG仿真器工具,,給RTU開(kāi)發(fā)和維護(hù)提供了方便。

       2.3 更新μClinux的步驟
  

       (1)用FTP傳輸操作系統(tǒng)文件IMAGE.ROM到/ramdisk/目錄,;(2)擦除mtd0分區(qū):eraseall /dev/mtd0,;(3)將IMAGE.ROM寫(xiě)入mtd0:cp/ramdisk/IMAGE.ROM/dev/mtd0。
  

       當(dāng)提示操作完成后,,復(fù)位主板模塊即運(yùn)行新的操作系統(tǒng),。由于μClinux操作系統(tǒng)在SDRAM中運(yùn)行,更新操作系統(tǒng)過(guò)程中不能停電,。

       2.4 應(yīng)用程序在Flash上的更新與執(zhí)行
  

       (1)安裝mtd1分區(qū):mount-t-jffs2 /dev/mtdblock1/mnt,。此操作將mtd1分區(qū)按塊設(shè)備方式安裝在μClinux的/mnt目錄中。在/mnt目錄中添加的文件,,存儲(chǔ)在Flash中,,不會(huì)因掉電而丟失。(2)將應(yīng)用程序myapp下載到/ramdisk目錄,,然后cp /ramdisk/myapp /mnt,。即完成了應(yīng)用程序在Flash上的更新。(3)修改文件屬性:chmod 755 /mnt/myapp,。(4)執(zhí)行文件:./mnt/myapp,。
  

        μClinux啟動(dòng)后,讀取并執(zhí)行/proc/rc文件中的命令,。要使myapp應(yīng)用程序自動(dòng)執(zhí)行,,在rc文件中,加入
  mount -t jffs2 /dev/mtdblock1 /mnt
  ./mnt/myapp
  系統(tǒng)啟動(dòng)后,,自動(dòng)安裝mtd1分區(qū),,執(zhí)行應(yīng)用程序myapp。
  

       基于本文設(shè)計(jì)的RTU,,連接到一個(gè)電網(wǎng)數(shù)據(jù)采集與監(jiān)控系統(tǒng),,經(jīng)試運(yùn)行,性能穩(wěn)定可靠,。證明文中設(shè)計(jì)的RTU的原理是正確的,。

       參考文獻(xiàn)
       1 嚴(yán)亞勤,吳文傳,,張伯明. 基于嵌入式Linux的網(wǎng)絡(luò)RTU[J]. 電力自動(dòng)化設(shè)備,2004;24(9):27~29
       2 μm_s3c4510b_rev1.pdf. www.samsung.com.
       3 皺思秩.嵌入式Linux設(shè)計(jì)與應(yīng)用[M].北京:清華大學(xué)出版社,,2002.第1版

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。