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