Ans:
在監控領域介面開發中,我們需要用到一些常用的協議,而PELCO的監控器材在目前市場上有很廣泛的應用。PELCO有自己的傳輸控制協定,當它的產品配套使用時,可以互相相容。但在某些情況下,由於工程的需要,要求用其他設備(比如電腦或RS485搖桿)來控制PELCO的矩陣或鏡頭,這就要求充分瞭解PELCO的傳輸協議。
常用的兩種協議:PELCO-D協定和PELCO-P協定。
PELCO-D協議解析
PELCO-D協定一般用於矩陣和其他設備之間的通信。它的格式如下:
Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 |
同步字 | 地址碼 | 命令字1 | 命令字2 | 數據1 | 數據2 | 校驗碼 |
所有的值都是用的16進制表示。
同步字通常都是$FF。
位址碼是指與矩陣通信的那台設備的邏輯位址,可以在設備中設置。
命令字1和命令字2設置如下:
Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 | |
命令字1 | Sence碼 | 為0 | 為0 | 自動/手動掃描 | 攝像機打開/關閉 | 光圈關閉 | 光圈打開 | 焦距拉近 |
命令字2 | 焦距拉遠 | 視角變寬 | 視角變窄 | 上 | 下 | 左 | 右 | 為0 |
Sence碼與Bit4和Bit3有關。在Bit4和Bit3為1的情況下,如果Sence碼為1,則命令就是自動掃描和和攝像機打開;如果Sence碼為0,則命令就是手動掃描和攝像機關閉。當然如果Bit4或Bit3為0的話那命令就無效了。
資料1表示鏡頭左右平移的速度,數值從$00(停止)到$3F(高速),另外還有一個值是$FF,表示最高速。
資料2表示鏡頭上下移動的速度,數值從$00(停止)到$3F(最高速)。
校驗碼是指Byte2到Byte6這5個數的和(若超過255則除以256然後取餘數)。
PELCO-P協議解析
PELCO-P協議一般採用RS-485傳輸,串列傳輸速率為4800,1位元起始位
和停止位元,8位元資料位元,無校驗。其格式如下:
Byte | Value | Function |
1 | $A0 | 起始碼 |
2 | $00 to $1F | 地址碼 |
3 | Data byte 1 | 數據位元1 |
4 | Data byte 2 | 數據位元2 |
5 | Data byte 3 | 數據位元3 |
6 | Data byte 4 | 數據位元4 |
7 | $AF | 停止碼 |
8 | $00-$FF | 校驗碼 |
起始碼是固定值$A0。
位址碼是設備的邏輯位址,可由接收設備上的DIP開關來設定。
資料位元1到4的意義如下:
Bit number | ||||||||
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
數據位元1 | 0 | 攝像機打開 | 自動掃描 | 攝像機打開/關閉 | 光圈關閉 | 光圈打開 | 焦距拉近 | 焦距拉遠 |
數據位元2 | 0 | 視角變寬 | 視角變窄 | 下 | 上 | 左 | 右 | 0 |
數據位元3 | 平移速度$00(停止)到$3F(高速)以及$40(最高速) | |||||||
數據位元4 | 上下移動速度$00(停止)到$3F(最高速) |
停止碼是固定值$AF 。
校驗碼是Byte2 到Byte6 這 5 個數的異或值(XOR)。
位址碼是從0編起的,所以位址碼$00表示第一台設備。
PELCO-D和PELCO-P協議另有一些特殊命令,可對設備進行一些高級控制。