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