一、雙芯片通訊協(xié)議
為了保證兩個(gè)控制芯片之間能夠在保證通訊數(shù)據(jù)正確的情況下同步實(shí)時(shí)交換數(shù)據(jù),雙芯片通訊協(xié)議制定了兩芯片之間通訊的數(shù)據(jù)格式,傳送速率,數(shù)據(jù)長度,通訊錯(cuò)誤糾錯(cuò)機(jī)制等。通信過程中一顆芯片為主機(jī),負(fù)責(zé)發(fā)送時(shí)鐘,另一顆芯片作為從機(jī),通信采用三線制,一線為時(shí)鐘線,一線為主機(jī)發(fā)送線,一線為主機(jī)接收線,通過頭尾校驗(yàn)等糾錯(cuò)機(jī)制可保證數(shù)據(jù)交互的正確和自我校正的能力。
二、通訊格式
定義一幀數(shù)據(jù)為10個(gè)16bit數(shù)據(jù),第一個(gè)字符和最后一個(gè)字以及數(shù)據(jù)長度作為一幀數(shù)據(jù)通訊正確的標(biāo)志
開始字符 |
數(shù)據(jù)1 |
數(shù)據(jù)2 |
數(shù)據(jù)3 |
數(shù)據(jù)4 |
數(shù)據(jù)5 |
數(shù)據(jù)6 |
數(shù)據(jù)7 |
數(shù)據(jù)8 |
狀態(tài)標(biāo)志 |
1個(gè)字 |
1個(gè)字 |
1個(gè)字 |
1個(gè)字 |
1個(gè)字 |
1個(gè)字 |
1個(gè)字 |
1個(gè)字 |
1個(gè)字 |
1個(gè)字 |
雙芯片通訊內(nèi)容定義可根據(jù)實(shí)際兩芯片需要交互的內(nèi)容來定義,一種通過固定數(shù)據(jù)內(nèi)容,每幀傳送相同的數(shù)據(jù)內(nèi)容;另一種將需要傳送的數(shù)據(jù)內(nèi)容作地址映射后通過寄存器地址和寄存器內(nèi)容進(jìn)行數(shù)據(jù)傳送。
雙芯片的通訊速率可根據(jù)需設(shè)定為200k~400K之間。需保證傳送一幀數(shù)據(jù)的時(shí)間大于一幀數(shù)據(jù)的處理時(shí)間。
三、數(shù)據(jù)通訊的糾錯(cuò)
為保證同步通信時(shí),由于主從機(jī)上電初始化不同步或斷線等原因?qū)е聰?shù)據(jù)同步通信不一致時(shí),可通過以下糾錯(cuò)機(jī)制使同步通信能夠恢復(fù)正常
1.主機(jī)需確保其所發(fā)送的時(shí)鐘和數(shù)據(jù)內(nèi)容一致,當(dāng)發(fā)生通信故障時(shí)仍需發(fā)送數(shù)據(jù)和時(shí)鐘
2.從機(jī)接收完一幀數(shù)據(jù)后需根據(jù)頭尾數(shù)據(jù)及數(shù)據(jù)長度判斷此幀數(shù)據(jù)是否為有效數(shù)據(jù)
3.若從機(jī)接收到無效的一幀數(shù)據(jù)后需在下一幀接收的數(shù)據(jù)中找到開始字符后再開始正常接收數(shù)據(jù)。
4.主從機(jī)分別判斷若超過設(shè)定時(shí)間仍無法收到正確的數(shù)據(jù)則需報(bào)雙芯片通訊故障。
四、總結(jié)
雙芯片通訊協(xié)議的通訊格式定義了數(shù)據(jù)交互的格式,確定了數(shù)據(jù)交互正確的判斷機(jī)制,通訊的糾錯(cuò)機(jī)制保證了通訊受干擾等原因?qū)е峦ㄓ崝?shù)據(jù)錯(cuò)誤后能夠自我校正數(shù)據(jù)內(nèi)容。此通訊協(xié)議能夠很好的滿足電梯控制的雙芯片通訊需求。