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