雙向CATV網(wǎng)中控制信曾的傳送
2 通信信令方式
由于CATV網(wǎng)絡(luò)系統(tǒng)中眾多的終端用戶,采用一一"點(diǎn)名"的主從結(jié)構(gòu)通信方式會使得整個通信周期太長。同時,在該網(wǎng)絡(luò)用戶中,大多通信事件的發(fā)起者應(yīng)該是終端用戶而不是數(shù)據(jù)處理中心,而且在眾多用戶中,在某一時刻真正需要傳輸數(shù)據(jù)的用戶不可能很多。正因?yàn)榇蠖嗤ㄐ攀录陌l(fā)起者是終端用戶,我們何不采用隨機(jī)信息上行的方案?考慮到以上各種因素,我們決定采用類似于無線集群通信的通信信令--ALOHA方式。
ALOHA信令是Motor01a公司專為無線集群通信設(shè)定的控制信道通信協(xié)議,主要是針對于一個中心控制臺對眾多的手機(jī)用戶且事件發(fā)起者為終端用戶的情況, 其核心內(nèi)容是隨機(jī)訪問協(xié)議。隨機(jī)訪問協(xié)議的宗旨是:
◇控制解決終端用戶上行信號的碰撞問題
◇使終端用戶的通信信息最快地上行;
◇確??煽啃?;
◇在通信繁忙時也能保證通信有效。
當(dāng)然,ALOHA控制信令的內(nèi)容比較復(fù)雜,我們只采用了其中的基本原理,并做了一定的修改,以適用本系統(tǒng)的應(yīng)用環(huán)境。下面介紹其實(shí)現(xiàn)原理。
數(shù)據(jù)采集中心一直有信號向下發(fā)送,所發(fā)FFSK信號分成三類:
①空閑信令。該類信號一直下行,它是一種與終端約定的協(xié)議,表示緊接著的一段時間是采集卡接收終端初始上行信號的多個時間間隙。一時間間隙表示一幀終端上行信號所需的時間長度??臻e信令本身包括空閑指令碼+時間間隙數(shù)值。時間間隙數(shù)值表示緊接著的時間間隙的個數(shù),它不是一個固定的數(shù)值。這個數(shù)據(jù)應(yīng)該隨著系統(tǒng)終端個數(shù)的多少和系統(tǒng)所要傳輸量數(shù)據(jù)多少進(jìn)行最優(yōu)化的設(shè)計(jì);同時,也要隨著采集卡收到要求信息交互的終端數(shù)的多少而變化。只有進(jìn)行這樣的變化,才能保證 ALOHA隨機(jī)訪問協(xié)議的宗旨。根據(jù)前面硬件的設(shè)計(jì),終端的上行信號的發(fā)射電路在平時是無電停振狀態(tài)。當(dāng)它要發(fā)射信號時,應(yīng)給它的起振時間約為10 ms, 因此這一時間間隙應(yīng)包括起振時間。
②應(yīng)答信號。當(dāng)采集卡收到終端的上行信息時,立刻給出應(yīng)答信號。此應(yīng)答信號包含終端地址。
③交互信令。給出應(yīng)答信號后,采集卡還對信號進(jìn)行分析,對于需要進(jìn)一步交互的信息內(nèi)容,立刻在空閑信令及時間間隙后跟上交互信令,同時跟上一幀的時間間隙以接收上行信號。交互信令也是由兩個部分組成:交互指令碼和需交互的終端地址。當(dāng)在交互信令的時間間隙得到上行信號時也需給出應(yīng)答信號。當(dāng)收到上行的結(jié)束信號時,取消該地址的交互信令。
終端所發(fā)FFSK信號分成兩類:
① 申請上行信號。終端控制板一直通過外部中斷口對數(shù)據(jù)中心采集卡的下行空閑信令進(jìn)行檢測。當(dāng)它有數(shù)據(jù)需要上行時,根據(jù)下行的空閑信令所得的時刻與現(xiàn)在這一刻進(jìn)行比較判斷,在下一時間間隙立刻發(fā)射數(shù)據(jù)。信號發(fā)送后立刻檢測采集卡的應(yīng)答信號,在一定時間內(nèi)若無應(yīng)答信號,則說明剛才的上行信號沒有被采集卡檢測到,需要再一次發(fā)送申請上行信號。一般而言,數(shù)據(jù)中心得不到數(shù)據(jù)是因?yàn)橛袃蓚€或兩個以上的用戶"同搶"時隙。這樣,再一次發(fā)射信息就要采用隨機(jī)發(fā)射方式:根據(jù)本機(jī)的一隨機(jī)數(shù)發(fā)生函數(shù)得到一單字節(jié)隨機(jī)數(shù),除以時間間隙數(shù),得一隨機(jī)余數(shù)。該隨機(jī)余數(shù)即為本次申請上行信號發(fā)送所占的時間間隙。之所以要有一隨機(jī)數(shù)的發(fā)生函數(shù),是因?yàn)椴杉ǖ南滦锌臻e信令之后的時間間隙的個數(shù)有限,為了有效地防止多個終端用戶再一次同時發(fā)送上行信號而互相干擾。若還不成功,就需要根據(jù)信息的重要程度不同進(jìn)行不同的處理:報(bào)警型就要重復(fù)剛才的過程,直到收到應(yīng)答信號為止;一般的信息只需重復(fù)一定次數(shù),若還不成功就可放棄。對于那些需進(jìn)-步信息交互的內(nèi)容, 終端單片機(jī)對采集卡的下行信號進(jìn)行進(jìn)一步檢測,當(dāng)檢測到交互信令時,就進(jìn)行下一步的信息交互。申請上行信號由兩部分組成:終端地址和真正上行信息。
②交互上行信號。檢測到交互信令時,終端就可以發(fā)送交互的上行信號了。一幀交互上行信號可根據(jù)實(shí)際需要設(shè)計(jì)得與一幀申請上行信號不-樣長。當(dāng)信息交互完畢時,終端發(fā)送結(jié)束信息,以便采集卡收回該終端的交互信令時序。由于下行的交互信令中包含地址內(nèi)容,因此交互上行信號只有信息內(nèi)容。為了數(shù)據(jù)輸送的可檢驗(yàn),數(shù)據(jù)的傳送通過CRC校驗(yàn)。
采用上述通信方式,通過試驗(yàn)數(shù)據(jù)傳送既快又好,即使碰到多個用戶"同搶"的情況也能將信息順利上達(dá)。
3 軟件設(shè)計(jì)
在完成硬件設(shè)計(jì)和確定通信原理后,收發(fā)軟件設(shè)計(jì)中,最主要的是怎樣把握時間間隙的計(jì)算。通過時間的延遲是可以達(dá)到這樣的目的,但這樣做要實(shí)現(xiàn)多樣的延時,在實(shí)際試驗(yàn)中既不利于實(shí)現(xiàn)也不準(zhǔn)確。我們采用的方法是:對芯片T35470,通過計(jì)算FFSK接收解調(diào)時鐘輸出RTM腳的脈沖個數(shù)來達(dá)到計(jì)時的目的。因?yàn)?,此腳一直產(chǎn)生1.2 kHz的方波,一個脈沖時間為0.83 ms。比如,在終端每次發(fā)送信息前應(yīng)起振振蕩線路,時間約為10 ms。我們就可以通過計(jì)l 2個脈沖來達(dá)到延時的目的。下行信號留出的每個時間間隙都應(yīng)包括這1 2個脈沖的時間。實(shí)際上,隨機(jī)函數(shù)也是通過計(jì)RTM腳脈沖的方式來實(shí)現(xiàn)的,這樣也便于隨機(jī)時隙的計(jì)算。
前已述及在外部中斷服務(wù)子程序中,單片機(jī)對采集卡的空閑信號一直都在采集, 中斷就是由RTM腳脈沖引起的,在此服務(wù)子程序中也實(shí)現(xiàn)對RTM脈沖計(jì)數(shù)并實(shí)現(xiàn)隨機(jī)函數(shù)。采集卡和終端的通信程序流程如圖2、圖3所示。
評論