簡報筆的故事 (一)
AppWorks 的 Demo Day 一直有個難解的問題: 簡報遙控器在大型場地不太靈光。
市面上可以買到的簡報遙控器多半都是走 2.4GHz 的 RF,而且功率都不大。這種遙控器在一般會議室中使用還沒有太大的問題,但 Demo Day 的場地在台大醫院國際會議中心,簡報者和電腦相距超過 10 米以上,而且 2.4GHz 的頻譜又塞滿了一大堆亂七八糟的 Wi-Fi 訊號,在這樣的環境中,這種小房間裡用的簡報遙控器就狀況不斷。
當然應該只是我們沒有買對東西,這世界上一定有賣大型場地可以用的簡報遙控器,不然像 WWDC 或 IDF 這種大場子怎麼辦 ? 尋尋覓覓之後,我找到了老牌簡報設備廠 DSAN 做的的 PerfectCue:
DSAN 真的很老派,它整個網站的風格還停留在上個世紀末。東西看起來也很老派,不過至少它的接收器上還有 USB。
根據網站上的說法,PerfectCue 用的是 433.92MHz 頻段,不過其實美國並沒有開放 433MHz 的 ISM band (美國屬於 ITU Region 2,開放的是 915MHz,這個頻率在大部份的亞洲跟歐洲國家會衝到 GSM900 的 uplink),但有開放這個頻率的 amateur radio,從網站上的資料看不出來 PerfectCue 是適用 FCC 的哪種 regulation。不過無論如何,能避開擁擠吵雜的 2.4GHz 頻段是最重要的。
但一組 PerfectCue 要價 870 塊美金,額外的發射器也要 135 美金,這對於小氣創業維艱的 AppWorks 來說是一筆不小的開銷。
於是我決定來自己做。
說穿了,簡報遙控器不過就是把鍵盤上的兩個鍵 (上一張、下一張) 變成無線的而已,頂多再加個 blank screen 或 play,這種等級的 RF 系統其實非常簡單,而且滿街都是: 台灣常見的四鍵式鐵捲門遙控器就是這樣的東西。很多年前我也曾經改裝過鐵捲門的遙控器來遙控家裡的空調主機。
不管是鐵捲門還是汽機車的遙控器,多半都是用 315MHz 或 433MHz 這兩個頻段,相較於擁擠的 2.4GHz 來說這個 UHF 頻段真的非常安靜。因此我決定先從這兩個頻段的資源下手。
發射器
我在淘寶上找了這個發射器:
“理論值 1000 米 2 鍵無線遙控器”,真敢寫。這東西是大陸人用來遙控田裡的抽水馬達用的。
它吃的是 A23 的 12V 積層電池,這種電池裡面有 8 顆 1.5V 的碳芯 cell,如果 RF 電路能好好利用這個供電電壓,要打個上百 mW 出去應該是沒有問題的。
把它拆開來看看:
我把一些主要的零件標在圖上。
裡面有一個很常見的遙控器固定碼編碼 IC,以及一個非常簡單的 RF 振盪器。某些版本的 RF 振盪器是典型的哈特萊振盪電路,可以看到板子上有抽頭電感和用來調整頻率的可變電容;不過我買到的這個版本比較講究,是用 SAW resonator 來控制頻率。
RF 電晶體是號稱 RF NPN 一哥的 2SC3357,這是一顆很常用的 RF 中功率電晶體,在 1GHz 時可以有 8dB 的 gain 和 1.2W 的 power dissipation,很常用於 cable TV 的放大器中。
我量了一下這個模組在發射時的耗電,用 12V 供電時電流是 40mA 左右,也就是 480mW。就算 RF 震盪電路的效率只有 1/4,也有 120mW 的發射功率。搞不好在開闊地真的有 1000 米。
這些振盪電路都只是用來產生穩定且單一頻率的載波,至於調變方法則是非常簡單的 OOK。OOK 是 On-Off-Keying 的縮寫,它其實就是利用載波的有和無來傳遞資訊,火腿族在 HF 波段使用的 Morse code 其實就是一種很典型的 OOK。OOK 可以算是 ASK (Amplitude Shift Keying) 的特例,當 ASK 只有兩個狀態且其中一態的振幅為零時,就是 OOK。
OOK 因為沒有穩定的載波,在現代的數位通訊系統裡幾乎不太使用。一般比較講求可靠度的系統會用 FSK (Frequency Shift Keying),因為頻率的狀態比較不容易被雜訊影響。但 FSK 在調變過程中,頻譜會長出肥大的旁波瓣,在寸土寸金的頻譜中不是很受歡迎,因此實務上還會幫它加一些 shaping filter 減肥一下,如 Bluetooth 用的 GFSK 或 GSM 用的 GMSK 都是由 FSK 所衍生出來的技術。
不過隨著頻譜越來越擠,但我們又想要塞進更多資訊,光是把資訊載在頻率上已經沒辦法滿足現代的數位通訊,因此對頻譜衝擊比較小的相位也被拿來載送資訊。但實務上相位的檢出比頻率要麻煩得多,隨著通訊電路技術的進步讓我們有了可靠的 PSK 解調電路,PSK 技術才變得實用化。Bluetooth EDR 用的 π/4 DQPSK 和 8DPSK 以及 EDGE 的 8PSK都是相位調變。
當相位上的資訊已經滿載後,工程師們又把焦點放回到振幅上。數位訊號處理技術的進步讓我們可以同時檢出載波上關於振幅和相位的資訊,而從調變理論的另一個觀點來看,相位相差 90 度而相互正交的 sine 和 cosine 載波可以合成出任一相位的載波,於是數位調變正式進入複數時代,從 APSK (Amplitude Phase Shift Keying) 成為 QAM (Quadrature Amplitude Modulation)。等化電路和解調電路越來越厲害,讓我們可以偵測載波中微小的相位和振幅差異,於是可以在一個 QAM symbol 中塞進越來越多的狀態。EGPRS2 剛出來時,16QAM/32QAM 已經是不得了的技術,但現在的 802.11ac 已經輕輕鬆鬆衝上 256QAM,我們離 Shannon limit 又近了一步。
以上的調變方法都需要穩定的載波,任何導致載波失真的因素都會降低頻道的可用性。但現實生活中的通訊頻道往往都不是那麼美好,不管是 modem 時代的電話線、ADSL 的銅線、cable modem 的同軸電纜、或是無線頻道,它們都存在著各種干擾、衰減,而且會隨時間變化。傳統的方法是利用等化器 (equalizer) 將變形的訊號校正回來,但來到 21 世紀後,我們有了 DMT (Discrete Multitone) 多載波調變技術。DMT 也許沒那麼有名,但它的另一個名字 OFDM (Orthogonal Frequency Division Multiplexing) 就響亮多了。OFDM 將難以捉摸的無線頻道切割成非常多的小頻道並各個擊破,配上最後的必殺技 CDMA 展頻技術,讓我們今天可以享受高速的 Wi-Fi 和 3G/4G 無線通訊。
嗯,雖然我們很快地回顧了數位通訊技術過去幾十年的發展,但回到這個遙控器,因為我買不到 FSK 的發射器,還是只能使用 OOK 技術。
編碼器
板子上除了 RF 振盪電路外,還有個固定碼編碼 IC。常用的遙控固定碼編碼 IC 有台灣老字號的盛群 HT-12 系列、普誠的 PT2262/2264/2272、以及大陸森川的 EV1527 等。這些固定碼編碼 IC 會將按鈕的狀態加上位址碼和一些必要的同步碼,輸出成一個串列訊號以供發射。
這是 PT2262 的編碼時序:
OSC 是一個用電組控制的振盪器,它是整個編碼 IC 的時基。PT2262 的 address pin 可以有 high/low/floating 三種狀態,因此在 8-bit 的 address pin 之下,PT2262 可以有 3 的 8 次方共 6561 組地址。
以消費性電子產品來說,6561 其實不算個大數字,這也難怪偶有聽到機車遙控器不小心解鎖別人機車的意外。
編碼後的訊號長這樣:
其實它就只是把 address bits 跟 data bits 接在一起,再加上一個同步位元而已。如果使用者用不到 4 個 data bits,多出來的 data bits 可以拿來當做 address bits 使用以增加編碼組合數。
這個遙控器用的是 PT2264,它是 PT2262 的新版本。它的八條位址設定線畫了 solder jumper 在板子的背面,讓使用者可以自行設定位址碼。
接收器
至於接收器,我淘了這個接收模組回來:
別看它小小一片,裡面大有學問。
它的 RF 接收晶片是 Synoxo 的 SYN470/480R。Synxo 是一間很有趣的公司,它在 RF 前端 IC 界很有名,特別是這種 ASK/OOK 的接收模組,市場上能買到的產品 80% 都是用他們家的晶片。雖然宣稱是總部設在巴黎的法國公司,網站也有英文和法文的版本,但怎麼看都像是一間法國皮中國骨的公司。除了網站上只有兩家中國的經銷商地址外,網域也是由中國公司註冊的。
SYN470R 是一顆整合度很高的 RF 接收晶片,號稱 “天線訊號進來,數位訊號輸出”。它把大部份的 RF 電路都整合到晶片上,只需要外加兩個電容 (一個控制 AGC,一個控制檢出比較器) 和一個石英或陶瓷晶體就可以工作。SYN480R 是 SYN470R 的簡化包裝版本,它在封裝時捨棄了一些狀態選擇腳,變成 8-pin 的包裝。
這是很典型的超外差接收器結構: 由 local oscillator 產生 RF 頻率,跟天線訊號混合後產生帶有中頻的混頻訊號,經過中頻濾波後用 low pass filter 檢出 ASK 訊號。現在很多手機或 Wi-Fi 的接收電路都往零中頻 (zero-IF) 或近零中頻 (near-zero-IF) 發展,不過零中頻解調有 DC offset 的問題,對於這種簡單的 UHF 解調電路來說,還是傳統的超外差結構好用。
SYN470R 除了傳統的定頻工作模式外,還多了一個很有創意的 sweep 掃頻工作模式。在 sweep 模式下,它的 local oscillator 會以類似展頻的方式在一定的程度變動 (英文的 datasheet 上有提到大概會是中心頻率的 1.5%),因而增加 RF 接收頻寬。對於沒有使用 crystal 或 SAW filter 定頻的發射機來說,這種接收的方法可以避免 LC 電路頻率飄移時的接收不良,但缺點就是解調的頻寬必需受限,在同樣的設定之下, sweep mode 的解調頻寬只有定頻模式的一半。
這是 SYN470R 的參考電路圖,是不是超簡單 ? 幾乎看不出來它是 RF 電路。
SYN470R 裡面有個固定 64.5 倍的 PLL.。設定 local oscillator 震盪頻率的條件是要讓混頻器輸出的中頻剛好等於 SYN470R 的中頻頻率 860KHz,也就是說 local oscillator 的頻率要跟接受頻率剛好相差一個中頻的頻率。
以 315MHz 來說,local oscillator 可以是 315.86MHz 或 314.14MHz,把這兩個頻率除以 PLL 的倍數,就可以得到外部石英晶體的頻率。板子上裝的 crystal 是 4.897MHz,乘上 64.5 得到 315.856MHz,因此我們知道這個模組是 315MHz 的。
原廠沒有詳細交待 ANT 接腳的特性,不過在 datasheet 中有個 antenna matching 表格,其中有寫到在 315MHz 時 ANT 腳的輸入阻抗是 13-j162,430MHz 時是 10-j115,看起來是個高度電容性的 MOSFET 輸入。要把這個特性阻抗匹配到 50ohm 的天線,需要一個兩個電感的 L 型網路。為了避免讀者繼續流失,詳細的計算和史密斯圖的部分我就不寫在這裡了。
實務上這種模組不太可能接到 50ohm 的天線,多半都是先設計了會諧振的天線後再用網路分析儀慢慢調整,讓天線跟 IC 的輸入匹配,中間可能完全不經過 50ohm 的特性阻抗。
如果發射器的振盪電路跟 SYN470R 的頻率匹配,我們就可以在 DO 腳上看到發射器的編碼 IC 送出來的資料串。
解碼器
傳統上發射端用什麼編碼器,接收端就用跟它配對的解碼器,如 PT2262/2264 配 PT2272,HT-12E 配 HT-12D。不過這個模組上用了一個個很厲害的解碼 IC: M2715 學習型解碼 IC。
解碼 IC 放在模組的背面:
大陸這些做模組的廠商都很喜歡把 IC 編號磨掉,讓別人比較難照抄,但其實只要對這個領域的設計稍微有點知識,都很容易查出來這是什麼零件 (我這不就查出來了嗎…)
M7215 需要搭配一個 24C02 I2C EEPROM 使用。當我們把第 10 腳拉低後,它就進入學習模式,此時第 12 腳會拉高,表示它在學習狀態。接著我們可以從 DATA 腳餵入來自 PT2262 或 EV1527 編碼的資料串,位址碼不拘,但同一個按鍵必需穩定重覆四個週期以上。M7215 會辨認來自 DATA 腳的資料串並抽出重覆的位址碼,將它記錄在 EEPROM 中。
紀錄完成後第 12 腳會拉低,表示學習完成,此後 M7215 就會接受來自這個位址碼的控置。
這些解碼 IC 都有 latch跟 momentary 兩種模式可以選。在 latch mode 下,D0-D3 輸出會維持在最後的狀態,直到下一個狀態進來;而在 momentary mode 下,載波消失後 D0-D3 就會恢復原狀。以簡報遙控器的應用來說,我們應該需要 momentary mode。
到這裡,我們已經成功把遠端的按鈕狀態經過編碼後,用 315MHz 傳送到接收器了。接下來,就要想辦法把這個訊號餵進電腦,讓它來控制投影片了。
(未完待續)
如果用一個特定的WIFI AP,只開5G的頻段給Demo Day的筆電用,能不能解決這個問題呢?(5G的干擾相對較少)