摘要:基于ARM處理器S3C4510B和μClinux的RTU總體結構設計、RTU硬件擴展方法以及在μCllinux環(huán)境下開發(fā)RTU應用程序的經驗。定義了一種RTU母板總線,介紹了由處理器總線驅動RTU母板總線的接口電路原理以及RTU母板總線上擴展硬件模塊的方法。 關鍵詞:RTU S3C4510B μClinux 嵌入式系統(tǒng) 在電力系統(tǒng)變電所以及電氣化鐵道牽引變電所遠動控制系統(tǒng)中,遠程數(shù)據(jù)采集與監(jiān)控終端(RTU)是關鍵設備,實現(xiàn)遙控、遙測、遙信等功能。 采用工業(yè)控制計算機,擴展測控硬件接口電路,是RTU設計常見的方法,但是這種方法設計的RTU成本高、體積大、耗電大。采用80C196等單片機設計RTU,由于單片機的運算處理和硬件擴展等能力較低,影響RTU的性能。而基于ARM處理器設計的RTU,硬件上具有成本低、體積小、耗電省、處理能力強等優(yōu)點;軟件上由于采用μClinux操作系統(tǒng),有許多優(yōu)秀的應用程序成果可以利用。正是由于這些優(yōu)勢,采用ARM和μClinux設計RTU已經成為一個熱點。 1 RTU硬件電路設計 1.1 RTU總體結構 RTU的核心部分是計算機,包括處理器、存儲器、人機接口等。為了執(zhí)行RTU的測控功能,需要擴展大量外圍接口電路。不同變電所的測控對象數(shù)據(jù)差別很大。為了提高RTU的通用性,一種普遍采用的可行的辦法是將測控電路模塊化。根據(jù)模塊化的設計思想以及S3C4510B和μClinux的特點,RTU硬件總體結構設計的原理框圖如圖1。
各種電路按功能設計成相應模塊,以母板總線為接口基礎。 主板模塊以S3C4510B為核心。主要配置是:16M字節(jié)動態(tài)隨機存儲器SDRAM(兩片HY57V651620B),2M字節(jié)的Flash(一片AM29LV160DB);處理器內部集成兩個異步串行通信接口,串口0和串口1;一個10Mbps以太網接口;看門狗與復位電路(MAX507);RTU母板總線驅動電路。 串口0作為控制臺,用于調試;串口1接LCD顯示屏和觸摸展,實現(xiàn)當?shù)乇O(jiān)控的人機界面。 測控接口電路主要有遙控模塊、遙信模塊(開關量采集)和遙測模塊(模擬量采集)。遙控和遙信模塊由母板總線直接擴展。遙測模塊采用現(xiàn)場總線(CAN)通信接口。為此在RTU母板總線上擴展CAN總線通信模塊,實現(xiàn)與遙測模塊的通信。 串口模塊(PC16C550)從母板總線上擴展。用該模塊連接調制解調器(MODEM),實現(xiàn)RTU遠程通信。 1.2 RTU母板總線 RTU母板總線是測控硬件模塊擴展的基礎,又是處理器總線上的一個外設接口。 為便于模塊的擴展,RTU母板總線定義如下:數(shù)據(jù)總線H-D0~H-D7;地址總線H-A0~H-A7;地址片選信號H-S0~H-S6;讀寫操作信號 H-WR和H-RD;地址鎖存控制信號H-ALE;中斷服務請求控制信號H-INT0~H-INT3;復位信號H-RESET。 使用處理器的如下總線信號驅動RTU母板總線:地址總線A0~A11、數(shù)據(jù)總線D0~D7、讀使能控制信號nOE、寫使能控制信號nWBE0、外設(I/O)地址片選信號nECS0,以及4根中斷控制信號線nINREQ0~nINREQ3。 1.2.1 總線驅動電路 為兼容測控接口電路較常用的器件,母板總線控照5V的TTL電平設計。S3C4510B總線是3.3V的CMOS電平。 處理器總線與RTU母板總線存在速度和電平上的差別,不能直接相連,它們之間需要一個總線驅動電路。 總線驅動電路是主板模塊的一部分。它實現(xiàn)處理器總線到RTU母板總線的接口擴展、電平轉換和驅動??偩€驅動接口電路如圖2。 采用雙電源供電的雙向總線能動沖區(qū)74LVX4245,實現(xiàn)處理器數(shù)據(jù)總線與RTU母板數(shù)據(jù)總線之間的電平轉換和驅動。 三八譯碼器U1,將2K字節(jié)地址空間譯為8個地址片選信號,稱為S0~S7,其中S0~S6由總線驅動芯片74LS244驅動后,作為RTU母板總線地址片選信號。 1.2.2 地址鎖存信號ALE實現(xiàn) 一些常用的芯片,如CAN總線控制器SJA1000、時鐘芯片DS12887等,內部帶一個地址鎖存器,需要地址鎖存信號ALE,才能實現(xiàn)接口。S3C4510B沒有ALE信號,所以母板總線擴展ALE信號,才能實現(xiàn)這類器件的接口。 將U1的一個地址片選信號S7取反,寫數(shù)據(jù)到S7地址,可以模擬出ALE控制信號,并實現(xiàn)ALE的功能。 1.2.3 RTU母板總線的地址和訪問速度 RTU母板總線作為處理器的一個外設,其地址和訪問速度由處理器決定。 圖2 S3C4510B總線統(tǒng)一編址。nECS0是外設地址片選信號,占外設地址空間起始的16K字節(jié)。 nECS0接U3使能端,決定TU母板總線的基地址和訪問速度。S3C4510B控制寄存器2EXTDBWTH第20位置1、21位置0,表示nECS0按8位方式尋址。寄存器REFEXTCON的低10位設為0x360,則nECS0的基地址是0x3600000。 1.3 基于RTU母板總線的模塊擴展 圖3是擴展CAN總線通信模塊的電路原理圖。CAN總線模塊以SJA1000為信心,通信數(shù)據(jù)經高速光電耦合器G1、G2隔離,82C250驅動,從接線端子J2連接到外部CAN總線,P1是1W的5V轉5V的DC/DC電源模塊。CAN模塊使用H-S0作為片選信號,其基地址是0x3600000。 圖3給出了SJA1000與RTU母板總線的連接關系。SJA1000總線兼容TTL電平,數(shù)據(jù)總線和中斷信號線有驅動能力,可以直接與母板總線接口。由圖3可見,從RTU母板總線上擴展測控電路簡單方便。 基于母板總線的其它操作擴展方法類似。 2 RTU軟件設計 μClinux從linux操作系統(tǒng)改進而來,適合運行在S3C4510B這種無內破例管理單元MMU的處理器中。基于工控機-linux的RTU程序,可以很方便地移植到ARM-μClinux設計的RTU中。 RTU程序的開發(fā),包括應用程序開發(fā)和驅動程序開發(fā)兩部分,全部采用C語言編寫。 2.1 RTU應用程序調試 使用JTAG仿真器工具和相應工具軟件,將μClinux操作系統(tǒng)燒寫到主板模塊的Flash中。Μclinux在主板模塊上運行后,可以使用μClinux提供的工具軟件在 Flash上更新自身及應用程序。 連接PC機的串口與主板模塊的串口0。用Windows超級終端,與主板模塊建立交互關系。將主板模塊與PC機接入同一個局域網,配置合適的IP地址。 使用文件傳輸服務工具FTP或TFTP,將PC機編譯的μClinux應用程序下載到主板模塊/ramdisk目錄中,改為可執(zhí)行屬性后執(zhí)行。應用程序中加入printf()函數(shù),輸出執(zhí)行過程中的測試信息。 2.2 JFFS2文件系統(tǒng)應用 JFFS2(The Journalling Flash File System,version 2)是一種為嵌入式系統(tǒng)Flash存儲文件而設計的文件系統(tǒng)。ΜClinux編譯選項,加入JFFS2文件系統(tǒng)。將2MB的Flash分成mtd0和 mtd1兩個區(qū),各個1MB。Mtd0是從0地址開始的存儲空間,用于存儲μClinux操作系統(tǒng)鏡像文件。Mtd1用于存儲應用程序。μClinux的 /dev目錄中,有字符設備文件mtd0、mtd1和對應的塊設備文件mtdblock0、mtdblock1。 有了JFFS2文件系統(tǒng)支持,使用文件拷貝操作方法,即可將RTU的操作系統(tǒng)和應用程序在Flash上更新。RTU的開發(fā)和現(xiàn)場調試,可以脫離JTAG仿真器工具,給RTU開發(fā)和維護提供了方便。 2.3 更新μClinux的步驟 (1)用FTP傳輸操作系統(tǒng)文件IMAGE.ROM到/ramdisk/目錄;(2)擦除mtd0分區(qū):eraseall/dev/mtd0;(3)將 IMAGE.ROM寫入mtd0:cp/ramdisk/IMAGE.ROM/dev/mtd0。 當提示操作完成后,復位主板模塊即運行新的操作系統(tǒng)。由于μClinux操作系統(tǒng)主SDRAM中執(zhí)行,更新操作系統(tǒng)過程中不能停電。 圖3 2.4 應用程序在Flash上的更新與執(zhí)行 (1)安裝mtd1分區(qū):mount-t-jffs2/dev/mtdblock/mnt。此操作將mtd1分區(qū)按塊設備方式安裝在μClinux的 /mnt目錄中。在/mnt目錄中添加的文件,存儲在Flash中,不會因掉電而丟失。(2)將應用程序myapp下載到/ramdisk目錄,然后cp /ramdisk/myapp/mnt。即完成了應用程序在Flash上的更新。(3)修改文件屬性:chmod755/mnt/myapp. (4)執(zhí)行文件:./mnt/myapp。 μClinux啟動后,讀取并執(zhí)行/proc/rc文件中的命令。要使myapp應用程序自動執(zhí)行,在rc文件中,加入 mount -t jffs2/dev/mtdblock1/mnt ./mnt/myapp 系統(tǒng)啟動后,自動安裝mtd1分區(qū),執(zhí)行應用程序myapp。 基于本文設計的RTU,連接到一個電網數(shù)據(jù)采集與監(jiān)控系統(tǒng),經試運行,性能穩(wěn)定可靠。證明文中設計的RTU的原理是正確的。