|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
雙LPC22XX通訊實(shí)例分享 |
| 作者:genset 欄目:ARM技術(shù) |
前些天在論壇咨詢各位高手關(guān)于多CPU通訊的建議方案.有建議用SPI,I2C的.根據(jù)本人實(shí)際應(yīng)用情況我采用了I2C. 我做的系統(tǒng)需要現(xiàn)場(chǎng)的控制實(shí)時(shí)性比較高,所以用一般的主從方式有點(diǎn)不好.以為如果主機(jī)向從機(jī)發(fā)送數(shù)據(jù)時(shí)從機(jī)必須產(chǎn)生中斷響應(yīng),如果從機(jī)正在處理其他任務(wù)時(shí)(這些功能任務(wù)處理過程中不能產(chǎn)生中斷)主機(jī)就要等待,浪費(fèi)了主機(jī)的時(shí)間. 本人做的系統(tǒng)的CPU之間數(shù)據(jù)交換的實(shí)時(shí)性卻要求不太高.所以使用了數(shù)據(jù)緩沖的方法,具體如下; 1.將CPU之間的I2C按照標(biāo)準(zhǔn)連接.在I2C總線上連接FM24CL64(鐵電,8K字節(jié)). 2.將兩個(gè)CPU的I2C配置為主機(jī). 3.將FM24CL64劃分為兩個(gè)存儲(chǔ)區(qū)域,用于兩個(gè)CPU的相互數(shù)據(jù)交換. 4.CPU將各自需要發(fā)送的數(shù)據(jù)寫到另一個(gè)(需要接收數(shù)據(jù)的)CPU指定接收區(qū)域里. 5.CPU從指定的接收區(qū)域讀本身需要的數(shù)據(jù). 經(jīng)過測(cè)試,I2C的時(shí)鐘為400K時(shí).數(shù)據(jù)交換量可以穩(wěn)定達(dá)到10K字節(jié)/秒.能夠,滿足本人系統(tǒng)要求.使用3.3V的FM24CL64鐵電存儲(chǔ)器是它有無限次讀寫壽命,在腳位兼容情況下最大可以選擇32K字節(jié).可以滿足大數(shù)據(jù)量多CPU通訊的需要.我做測(cè)試時(shí)兩個(gè)LPC22XX都有液晶屏顯示通訊次數(shù)和通訊是否正常.經(jīng)過2天多30小時(shí)的測(cè)試.通訊次數(shù)大于100億次.沒有一次錯(cuò)誤. 祝!中秋快樂. |
| 2樓: | >>參與討論 |
| 作者: violit 于 2005/9/17 13:51:00 發(fā)布:
謝謝~~ 不過我好像沒有找到參考程序`~ 朋友是不是沒有上傳成功? |
|
|
|
| 免費(fèi)注冊(cè)為維庫(kù)電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào) |