• We change the world,
  • because we are the engineers.

Baseband Design

基頻調變系統的設計是純粹的軟體+韌體架構,實現的平台是採用近年來當紅的UDOO單板電腦,在其16GB的SD卡上執行一個UDOO客製化版本的Ubuntu Linux,由其Freescale IMX6 四核心ARM處理器運行。圖3a為基頻調變系統的實現架構。

Figure3a
Figure 3a, Baseband Keyer Architecture @ UDOO

Software

當系統啟動時,一個bash程序會執行Ubuntu Linux上的NTP校時,並把校正後的時間寫入RTC裡,當新的一分鐘開始時,一個運行於Ubuntu Linux的C程式會被喚醒,開始執行時間編碼,如圖3b所示,是時間09:16 AM, Monday, 2009/09/28被編碼後的成果。

Figure3b
Figure 3b, An Encode Example

Firmware

韌體層的實作方式是採用UDOO單板電腦上整合的Arduino Due (Atmel SAM3X8E MCU),透過tty序列界面與UDOO單板電腦溝通,當UDOO單板電腦送達公眾資訊、時間資訊與同步位元後,Arduino Due編譯出120bits的編碼出120bits的編碼,並透過我們撰寫在內部的韌體進行Amplitude-Shift-Keying,以類似Pulse-Width-Modulation的形式將這些位元碼轉成High-Low形式的訊號,如圖3c所示。

Figure3c
Figure 3c, Implement ASK on UDOO

Demonstration of Baseband

圖3d為時間精度的檢查與驗證,基於Freescale的IMX6將乙太網路、處理器與匯流排整合為一顆SoC,因此在進行NTP校正時的精確度良好,可收歛達微秒的誤差等級。

Figure3d
Figure 3d, The Software runs on UDOO Ubuntu OS

圖3e為Atmel SAM3X8E MCU解出IXM6Q送達的15個bytes,展開成120個bits,透過Arduino IDE的Serimal Monitor觀察解碼的正確性,可以注意到defined function的部份尚未實作,因此每分鐘的前40秒要傳送的位元都是0。

Figure3e
Figure 3e, The Encoded Bits Received by SAM3X8E MCU

當Atmel SAM3X8E能夠正確擷取IMX6Q送達的15bytes,展成120個bits時,就可透過上述的調變機制與範例程式,將2個bits調變成一個PWM波,從Pin 13送出這個調變後的基頻訊號,由於我沒有邏輯分析儀,因此使用示波器的Hold模式去捕捉,如圖3f。

Figure3f
Figure 3f, The ASK Signal that is Monitored by the Oscilloscope.

Other stuff

其實像這種簡單的類比/數位調變技術,例如AM、FM、ASK、PWM等等,都能透過這種開源社群的開發板完成自製,不需要購買昂貴的廠製品,不然如同圖3g所示Digi-key報價,8,200美元,即25萬元左右的台幣,絕非是一般人願意花錢買來做測試的。

Figure3g
Figure 3g, The Equivalent time Signal Generator on Market