波特率連續可調的串口通信技術
其中,Mode為循環相位累加器的最大值,即模值,可以預先設定。N為一個周期所包含的采樣點數。Mode,N的取值要綜合考慮fclk和FCW的值,以獲得一個隨FCW線性變化的fclk即實現了fclk隨FCW變化而變化的連續可調。
1.2.4 采用的DDS技術
針對RS232標準中串行通信中波特率的一般要求范圍300~115 200 bit·s-1,采用改進的DDS技術,基于FPGA,設計如圖3所示的DDS模塊。本文引用地址:http://www.104case.com/article/155189.htm
其中的循環相位累加器模塊DDS_adder模塊,相位寄存器模塊DDS_addr_gen是基于硬件描述語言設計的模塊,ROM模塊DDS_ROM是基于FPGA的宏模塊。
在本設計中實現發送時鐘fclk在300~115 200 bit·s-1范圍內步進為0.1 bit·s-1的調節。其中,Mode取7 812 500,N取4,fclk為外部晶振提供的頻率為50 MHz時鐘。
因此,有△F=1.6 FCW。其中,FCW為應用程序所傳送的實際控制頻率的10倍,根據UART協議,發送時鐘的頻率至少是串口通信波特率的16倍。所以,以上的參數設置即實現了步進為0.1 bit·s-1的連續可調的波特率設置。
1.2.5 連續可調信號的驗證
文中DDS技術是基于FPGA實現的。根據不同的頻率控制字fword輸入,經過幾個過渡時鐘后,DDS模塊即可以穩定產生隨頻率變化的時鐘信號fclk。
在圖4的仿真中,所仿真的頻率點是115 200 Hz,9 600 Hz,1 200 Hz,,對應的fword為0x00119400,0x00017700,0x00002EE0。
評論