- 相關(guān)推薦
Neuron多處理器芯片及其應(yīng)用
摘要:Neuron芯片是美國Mitorola公司和日本Toshiba公司制造的一種多處理器結(jié)構(gòu)的神經(jīng)元芯片。它將通信協(xié)議和控制用微處理器有效地集成在一起,實現(xiàn)通信、控制、調(diào)度和I/O等功能。本文以MC134150為例,介紹有關(guān)Neuron芯片的基本結(jié)構(gòu)和組成、LonTalk協(xié)議以及應(yīng)用系統(tǒng)的組成方式等。關(guān)鍵詞:神經(jīng)元芯片多處理器Neuron固件
一、Neuron芯片的基本組成
Neuron芯片作為一種多處理器結(jié)構(gòu)的神經(jīng)元芯片,有著完整的系統(tǒng)資源,如圖1所示,其內(nèi)部集成有三個管線CPU,最高工作頻率可達(dá)10MHz。它設(shè)置有11編程輸入、輸出引腳(IO1~I(xiàn)O10),編程方法多達(dá)34種,方便了實現(xiàn)應(yīng)用。片內(nèi)設(shè)有EEPROM和RAM,支持有外部擴(kuò)展多種存儲器的接口,最大存儲空間允許有64KB。內(nèi)部含有兩個16位定時器/計數(shù)器,能夠由固件產(chǎn)生15個軟件定時器。Neuron芯片的長處還在于它的網(wǎng)絡(luò)通信功能,引出的五個通信引腳(CP0~CP4)提供了單端、差分和特殊應(yīng)用模式等三種網(wǎng)絡(luò)通信方式。
1.處理器單元
Neuron芯片集成有三個處理器,其中一個用于執(zhí)行用戶編寫的應(yīng)用程序,另外兩個完成網(wǎng)絡(luò)任務(wù)。圖2示意了Neuron芯片內(nèi)三個處理器的功能分配及與內(nèi)部共享存儲器區(qū)域之間的關(guān)系。
。1)MAC處理器是媒體訪問控制層處理器。它處理OSI七層網(wǎng)絡(luò)協(xié)議中的1,2層,主要包括驅(qū)動通信子系統(tǒng)硬件以及執(zhí)行沖突回避算法等。MAC處理器使用位于共享存儲器中的網(wǎng)絡(luò)緩沖區(qū)與網(wǎng)絡(luò)處理器進(jìn)行通信。
。2)網(wǎng)絡(luò)處理器實現(xiàn)網(wǎng)絡(luò)協(xié)議中的3~6層。它實現(xiàn)網(wǎng)絡(luò)變量處理、尋址、事務(wù)處理、文電鑒別、軟件定時器、網(wǎng)絡(luò)管理和路由等功能。網(wǎng)絡(luò)處理器通過共享存儲器中的網(wǎng)絡(luò)緩沖區(qū)與MAC處理器通信,并采用應(yīng)用緩沖區(qū)與應(yīng)用處理器進(jìn)行通信。應(yīng)用緩沖區(qū)也是設(shè)置在共享存儲器中的。對緩沖區(qū)的訪問都用硬件信號燈來協(xié)調(diào),以便在更新共享數(shù)據(jù)時消除競爭。
。3)應(yīng)用處理器一方面執(zhí)行用戶編寫的應(yīng)用程序代碼,另一方面執(zhí)行由用戶代碼所調(diào)用的操作系統(tǒng)服務(wù)。大多數(shù)應(yīng)用程序均可采用NeuronC語言來編制,使編程工作真正從繁瑣的匯編語言中解脫出來。
2.存儲器分配
MC143150的外擴(kuò)存儲器接口總線中,有8位雙向數(shù)據(jù)總線、16位處理器驅(qū)動的地址總線以及用于外部存儲器存取訪問的兩個接口信號線R/W和E?偟牡刂房臻g為64KB,其中有6KB的地址空間保留在芯片內(nèi),剩余的58KB的地址空間供外擴(kuò)存儲器使用。在外擴(kuò)存儲器中,通常用16KB存放固件,其余的42KB用于存放用戶程序和數(shù)據(jù)信息。
3.應(yīng)用I/O口
具有11個引腳的I/O接口提供有34種編程方式,另外,2個16位定時器/計數(shù)器可用于頻率和定時I/O。由固件產(chǎn)生的15種軟件定時器并不占用應(yīng)用處理器的運(yùn)算時間,而由完成網(wǎng)絡(luò)功能的處理器實現(xiàn)。因此,用戶可直接使用軟件定時器,不必考慮其具體操作。
Neuron芯片提供的11個I/O引腳(IO0~I(xiàn)O10)可通過編程設(shè)定為34種不同的I/O對象,支持電平、脈沖、頻率、編碼等各種信號模式,有直接I/O對象、定時器/計數(shù)器I/O對象、串行I/O對象、并行I/O對象等供用戶選擇。它們與集成的硬件和固件一起可用于連接馬達(dá)、閥門、顯示驅(qū)動器、A/D轉(zhuǎn)換器、壓力傳感器、熱敏電阻、開關(guān)量、繼電器、可控硅、轉(zhuǎn)速計、其他處理器和調(diào)制解調(diào)器等,方便了實際應(yīng)用。表1列舉了所有I/O對象的基本類型。
表1I/O對象類型參照表
I/O對象類型注釋Bitinput/output位輸入/輸出Bitshiftinput/output位稱輸入/輸出Byteinput/output字節(jié)輸入/輸出Dualslopeinput雙積分輸入Edgedivideoutput脈沖沿分離輸出Edgeloginput邊沿跳變時間間隔序列輸入Frequencyoutput頻率輸出I2Cinput/outputI2C輸入/輸出Infraredinput遠(yuǎn)紅外輸入Leveldetectinput電平監(jiān)測輸入Magcardinput磁卡編碼輸入Magtracklinput經(jīng)錄入1輸入Muxbusinput/output多總線輸入/輸出Neurowireinput/output神經(jīng)元接口輸入/輸出Nibbleinput/output半字節(jié)輸入/輸出Oneshotoutput單穩(wěn)輸出Ontimeinput邏輯電持續(xù)時間輸入Parallelinput/output并行輸入/輸出Preiodinput周期輸入Pulsecountinput脈沖計數(shù)輸入Pulsecountoutput脈沖計數(shù)輸出Pulsewidthoutput脈寬輸出Quadratureinput位置碼盤輸入Serialinput/output串行輸入/輸出Totalcountinput累加計數(shù)輸入Touchinput/output觸點(diǎn)輸入/輸出Triacoutput觸發(fā)輸出Triggeredcountoutput計數(shù)觸發(fā)輸出Wiegandinput維甘德輸入
4.通信口
由CP0~CP4組成的通信接口,允許工作在單端或差分模式,既可直接驅(qū)動,也可外接變壓器驅(qū)動或外接485總線驅(qū)動。傳輸速率的選擇范圍為0.6kb/s~1.2Mb/s。
5.附加功能
Neuron芯片具有睡眠/喚醒電路、看門狗定時器和服務(wù)引腳等附加功能。
。1)Neuron芯片可以在軟件控制下進(jìn)入低耗的睡眠狀態(tài),此時,振蕩器系統(tǒng)時鐘、通道端口所用的定時器/計數(shù)器均關(guān)閉。但是,所有的狀態(tài)信息(包括內(nèi)部RAM中的內(nèi)容)都保留,這樣可以降低系統(tǒng)功耗。
。2)Neuron芯片中的處理器由三個看門狗定時器保護(hù),主要針對軟件錯誤或存儲器錯誤。若系統(tǒng)軟件或應(yīng)用軟件不能周期性地復(fù)位些定時器,則整個神經(jīng)元芯片將被自動復(fù)位。在10MHz時鐘下,看門狗定時器大約持續(xù)0.84s。
。3)Service引腳在芯片固件的控制下,為配置和安裝含有芯片的節(jié)點(diǎn)時使用。該引腳的可編程上拉電阻由應(yīng)用軟件選擇。
二、Neuron固件
Neuron芯片的固件主要包括基于OSI參考模型的LonTalk協(xié)議、I/O驅(qū)動程序、事件驅(qū)動的多任務(wù)調(diào)試程度以及函數(shù)庫等部分。其中的LonTalk協(xié)議具有通用性,支持多種媒體和多種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),并提供多種服務(wù)。LonTalk協(xié)議可使控制信息在各種介質(zhì)中可靠地傳輸。表2列出了LonTalk與OSI7層協(xié)議之間的比較,以及與Neuron芯片中三個處理器之間的關(guān)系。
表2LonTalk與OSI7層協(xié)議的比較
層號OSI層次標(biāo)準(zhǔn)服務(wù)LON提供的服務(wù)處理器7應(yīng)用層網(wǎng)絡(luò)應(yīng)用定義標(biāo)準(zhǔn)網(wǎng)絡(luò)變量類型應(yīng)用處理器6表示層數(shù)據(jù)表示網(wǎng)絡(luò)變量、外部幀傳送網(wǎng)絡(luò)處理器5會話層遠(yuǎn)程操作請求/響應(yīng)、認(rèn)證、網(wǎng)絡(luò)管理網(wǎng)絡(luò)處理器4傳送層端對端的可靠傳輸應(yīng)答、非應(yīng)答、點(diǎn)對點(diǎn)、廣播、認(rèn)證等網(wǎng)絡(luò)處理器3網(wǎng)絡(luò)層目的地址尋址地址、路由網(wǎng)絡(luò)處理順2鏈路層介質(zhì)訪問和數(shù)據(jù)組幀幀結(jié)構(gòu)、數(shù)據(jù)解碼、CRC差錯檢測預(yù)測、CSMA磁撞回避、選擇優(yōu)先級、碰撞檢測MAC處理器1物理層電氣連接介質(zhì)、電氣接口MAC處理器
三、NeuronC語言
NeuronC是基于ANSIC并針對LonWorks分布控制的應(yīng)用,經(jīng)優(yōu)化、加強(qiáng)而成的一種程序設(shè)計語言。它增強(qiáng)了對I/O支持、時間處理、報文傳遞等功能,其擴(kuò)充部分包括軟件定時器、網(wǎng)絡(luò)變量、顯式報文、一個多任務(wù)調(diào)試、EEPROM變量和雜函數(shù)等。NeuronC語言提供的主要特征和支持包括以下內(nèi)容。
。1)一個內(nèi)部多任務(wù)調(diào)度程序:允許程序員以一種自然的方式邏輯地表達(dá)由事件引發(fā)的并行任務(wù),并可以控制任務(wù)執(zhí)行的優(yōu)先級。
。2)一個Run-Time函數(shù)庫:調(diào)用時執(zhí)行事件檢查、I/O管理、網(wǎng)絡(luò)信息的接收和傳送、Ueuron的多種控制等。
。3)實現(xiàn)對I/O操作顯式的控制:通過對I/O對象的說明來定義標(biāo)準(zhǔn)化Neuron芯片特有的多功能I/O。
。4)新一級對象“網(wǎng)絡(luò)變量”的說明語句:網(wǎng)絡(luò)變量作為NeuronC語言的對象,無論何時被賦值,其值都可自動地傳遍網(wǎng)絡(luò)。網(wǎng)絡(luò)變量的引入和使用了節(jié)點(diǎn)間的數(shù)據(jù)共享。
。5)新語句“when”:定義由事件驅(qū)動的任務(wù)。
。6)支持顯式報文傳遞:實現(xiàn)對基本LonTalk協(xié)議服務(wù)的直接訪問。
。7)一種對毫秒和秒計時器對象說明的語句:它們在停止計數(shù)時將會激活用戶定義的任務(wù)。
利用NeuronC語言提供的支持,可大大控制網(wǎng)絡(luò)軟件的開發(fā)和應(yīng)用,使開發(fā)人員幾乎感覺不到在網(wǎng)絡(luò)環(huán)境下編程。
四、應(yīng)用系統(tǒng)的基本組成
圖3所示是基于Neuron芯片的應(yīng)用系統(tǒng),一般由下述器件構(gòu)成。
1.Neuron芯片
它主要用于實現(xiàn)LonTalk協(xié)議服務(wù),執(zhí)行節(jié)點(diǎn)中的應(yīng)用程序。
2.收發(fā)器
收發(fā)器其實是連接Neuron芯片和通信介質(zhì)之間的接口,可支持比絞線、電力線、無線射頻、光纖及紅外等多種介質(zhì)的通信。由于Neuron固件中含有通信協(xié)議,因此,該器件的使用對構(gòu)建網(wǎng)絡(luò)環(huán)境的應(yīng)用系統(tǒng)十分方便。
3.應(yīng)用電路
應(yīng)用電路是連接Neuron芯片的I/O引腳到諸如傳感器、執(zhí)行器、鍵盤、顯示器等I/O設(shè)備所需的電子線路。它需要按照不同的應(yīng)用要求單獨(dú)設(shè)計。此時,只要通過配置I/O對象和編制NeuronC應(yīng)用程序,就能控制該應(yīng)用系統(tǒng)的工作,并實現(xiàn)網(wǎng)絡(luò)環(huán)境的通信功能。
從圖3所示的應(yīng)用系統(tǒng)可知:Neuron芯片的I/O口可通過應(yīng)用電路輸入或輸出數(shù)據(jù),以與外界接口;借助于Neuron芯片固件中的LonTalk協(xié)議支持,Neuron芯片的通信口可通過收發(fā)器實現(xiàn)與網(wǎng)上其他應(yīng)用系統(tǒng)的雙向數(shù)據(jù)通信。Neuron芯片的強(qiáng)大功能和組成應(yīng)用系統(tǒng)的靈活結(jié)構(gòu),對組建分布式應(yīng)用系統(tǒng)無疑是相當(dāng)方便的。
【Neuron多處理器芯片及其應(yīng)用】相關(guān)文章:
ADSP Tiger SHARC芯片TS101S及其應(yīng)用04-12