神經(jīng)元芯片的并口I/O對象及其應用
關鍵詞:Lonworks;神經(jīng)元芯片;并行口I/O模式;TMPN3150
1 引言
1993年美國Echelon公司發(fā)明了Lonworks技術,該技術提供了一個開放性很強且無專利權的底層通訊網(wǎng)絡——局部操作網(wǎng)絡(LON)。該通信協(xié)議采用Lontalk?yún)f(xié)議,網(wǎng)絡上的節(jié)點采用神經(jīng)元芯片。神經(jīng)元芯片(Neuron 芯片)是Lonworks技術的核心,它含有Lontalk 協(xié)議的固態(tài)軟件(簡稱為固件),因而能進行可靠地通訊。為了實現(xiàn)Neuron芯片與I/O設備之間的通信,Neuron芯片的11個引腳可定義為34種I/O對象,其中包括并行I/O對象、串行I/O對象、直接I/O對象、定時/計數(shù)器輸入對象等。用戶可根據(jù)實際應用的需要在應用程序中定義不同的I/O對象,然后調用io in??或io out??等函數(shù)來實現(xiàn)對I/O對象的數(shù)據(jù)讀寫操作,即實現(xiàn)Neuron 芯片與I/O設備之間的通信。文中介紹了神經(jīng)元芯片的一種I/O應用模式,即并行I/O模式(Parallel I/O Mode)。該神經(jīng)元芯片采用日本東芝公司的TMPN3150芯片。
RS-232標準是一種常見的電氣和通訊接口標準,而Lonworks現(xiàn)場總線在網(wǎng)絡通訊方面具有突出的優(yōu)點(如網(wǎng)絡物理層支持多種通信介質,支持多種網(wǎng)絡拓撲結構等),它以其突出的統(tǒng)一性、開放性及互操作性受到各行各業(yè)的重視,并且作為現(xiàn)場總線中的佼佼者在國內各個領域的測控系統(tǒng)中廣泛流行。因此,將現(xiàn)場設備的RS-232信號轉換為包含LonTalk?yún)f(xié)議的信息來實現(xiàn)與其它LON節(jié)點以及LON網(wǎng)絡管理設備之間的通訊,具有拓寬LON應用范圍的意義。筆者基于神經(jīng)元芯片的并行I/O應用模式設計了一個適配器,從而實現(xiàn)了RS-232通信網(wǎng)絡與Lonworks現(xiàn)場總線的集成。
圖1 基于TMPN3150的RS-232網(wǎng)絡與Lonworks現(xiàn)場總線的適配器硬件框圖
2 神經(jīng)元芯片的并行I/O應用模式
通過定義并行I/O對象,Neuron芯片可以實現(xiàn)與外接各類微處理器之間的雙向數(shù)據(jù)通信,并行口的速率可達3.3Mbps。并行I/O對象利用Neuron的11個I/O口進行通信,其中IO0~IO7為8根數(shù)據(jù)線,IO8~IO10為控制信號線。并行口的工作方式有3種,即master、slave-A和slave-B。在不同模式下,IO8~IO10這3根控制信號線的意義不同。筆者應用的是slave-A模式,即從A模式。
在從A模式中,IO8為片選信號線(CS),IO9為讀寫信號線(R/ W),IO10為握手信號線(HS)。在此模式中,應將Neuron芯片作為從機(slave),微處理器作為主機(master),主機和從機之間的數(shù)據(jù)傳輸可通過虛擬的寫令牌傳遞協(xié)議(virtual write token-passing protocol)來實現(xiàn)。主機和從機交替地獲得寫令牌(write token),擁有寫令牌的一方既可以寫數(shù)據(jù)(不超過255個字節(jié)),也可以不寫任何數(shù)據(jù)而傳送一個空令牌。傳送的數(shù)據(jù)要遵從一定的格式,即在要傳送的數(shù)據(jù)前面加上命令碼和所傳數(shù)據(jù)的長度,命令碼有CMD_XFER(寫數(shù)據(jù))、CMD_NULL(傳遞空令牌)、CMD_RESYNC(要求從機同步)、CMD_ACKSYNC(確認同步)等四種,最后以EOM字節(jié)結束。其中寫數(shù)據(jù)和傳遞空令牌的格式分別為:
在通信以前,主機和從機之間應先建立握手信號,即HS信號有效(由TMPN3150的固件自動實現(xiàn)),然后,主機再送一個CMD_RESYNC命令要求從機同步。當從機接收到這個信號后,則發(fā)送CMD_ACKSYNC以表示同步完成,可以通信了。此后,寫令牌就在主機和從機之間無限的交替?zhèn)鬟f,擁有寫令牌的一方可以向數(shù)據(jù)總線上寫數(shù)據(jù),即主機可以往從機寫數(shù)據(jù),從機也可以將數(shù)據(jù)傳往主機。
3 實例應用
基于上述神經(jīng)元芯片TMPN3150的并行I/O應用模式來實現(xiàn)RS-232通信網(wǎng)絡與Lonworks現(xiàn)場總線的集成適配器主要由Lonworks控制模塊和MCS51系列的P89C51單片機兩大部分組成。其中Lonworks控制模塊用于Lonworks現(xiàn)場總線的網(wǎng)絡通信管理,P89C51和MAX232芯片則用來實現(xiàn)RS-232通信網(wǎng)絡的鏈路和協(xié)議。其硬件框圖如圖1所示。
適配器的軟件編寫應包括兩個部分。一部分為對主機程序的編寫,可用C語言編寫。因為從機(TMPN3150芯片)的并行模式是在芯片內部定義的,它遵從虛擬的寫令牌傳遞協(xié)議,所以需要編寫P89C51程序來模擬TMPN3150的I/O并行口的從A模式,該程序主要完成與TMPN3150的同步、握手、令牌的傳送以及并行口數(shù)據(jù)的讀寫等四項工作。另一部分是編寫從機程序,該程序應使用神經(jīng)元芯片的編程語言——Neuron C語言來編寫。當從機將并口得到的報文進行解析后,本系統(tǒng)將利用Neuron C的消息傳送機制將解析的消息傳送給適配器下層的應用節(jié)點,同時將適配器下層的應用節(jié)點以消息形式傳送上來的數(shù)據(jù)或信息所構成的P89C51能識別的報文通過并口傳送給P89C51。
4 結論
利用Neuron芯片的并行I/O模式實現(xiàn)Lonworks控制模塊和微處理器之間的數(shù)據(jù)交換是構造Lon-works現(xiàn)場總線與RS-232通信網(wǎng)絡適配器的關鍵,這種簡單、可靠、實用的接口方法可以推廣到Lon-works控制模塊與其它計算機的并行數(shù)據(jù)通信中,特別是對已有的測控裝置改造為Lonworks現(xiàn)場總線節(jié)點、或者測控功能比較復雜而僅僅需要Neuron作為通訊處理器的場合,同時,也可用于需用高檔CPU來進行數(shù)據(jù)處理的Lonworks現(xiàn)場節(jié)點的應用方面。