国产精品免费无遮挡无码永久视频-国产高潮视频在线观看-精品久久国产字幕高潮-国产精品99精品无码视亚

射頻定時發送器基本功能模塊的設計

發布時間:2010-7-24 21:03    發布者:lavida
關鍵詞: 定時發送器 , 射頻
射頻定時發送器是射頻控制模塊中的一個重要組成部分,用于產生需要定時發送的射頻控制信號:AD_ON(模數轉換信號)、DA_ON(數模轉換信號)、APC(自動功率控制信號)、AGC(自動增益控制信號)和AFC(自動頻率控制信號),再通過選擇兩個SPI接口RF_SPI和AD_SPI把控制信號定時地傳送到射頻發送模塊。射頻定時發送器需要完成的四種基本功能分別是:定時發送、競爭發送、數據采樣時鐘分頻,以及APC_burst模式,如圖1所示,本文將詳細闡述這些基本功能模塊的設計原理。  

  
圖1 射頻定時發送器功能結構圖  

定時發送模塊

射頻定時發送器的主要功能就是定時傳輸射頻控制信息,為了滿足此功能,需要在模塊中設計兩個FIFO:DATA FIFO用于存儲射頻控制信息;TIME FIFO用于存儲時間信息。模塊中設定當系統幀計數器與TIME FIFO中存儲的某一時間相同時,就把與這個時間對應的射頻控制信息發送出去。因此還需設計一個模塊,判斷當幀計數器的值等于FIFO_time(FIFO中存儲的時間)時,產生使能信號(read_en, fifo_read_en, time_int)發送信息,工作流程如圖2所示。   

  
圖2 定時發送射頻控制信息設計流程圖

FIFO

該模塊中將設計兩個FIFO,它們將需要發送的射頻控制信息及其發送時間緩存起來,設計用FIFO進行存儲的目的是將這兩種信息一一對應起來,避免發送的時候出錯。

define data_fifo

module data_fifo (rst_,clk,we_i,rd_i, addwr_i,addrd_i,fifo_data_i,fifo_data_o);

1) 首先定義該模塊的信號線:輸入信號為rst_ (復位信號)、clk(標準時鐘)、 we_i(寫信號)、 rd_i(讀信號)、addwr_i[4:0](寫FIFO地址)、 addrd_i[4:0](讀FIFO地址)和fifo_data_i[11:0](寫入FIFO的值);輸出信號為fifo_data_o[11:0] (FIFO輸出值)。

2) 再定義一個寬度為12位、深度為32的FIFO:reg [11:0] register_fifo[0:31];

3) 設計寫FIFO的情況:以clk為參考時鐘,首先判斷復位信號,當復位信號為低時,對FIFO進行復位:if(!rst_) register_fifo[0......31]

  
圖3 FIFO讀/寫操作仿真圖  

競爭發送模塊

芯片在空閑情況下,可能會有空閑狀態的射頻控制信息(idle_data)需要發送,當芯片喚醒后則應優先發送該信息。但當芯片喚醒后產生的射頻控制信息fifo_data與idle_data在同一時刻發送時,就會出現競爭發送的情況。因此,在設計該模塊時限定當idle_en(空閑使能信號)與pllon(pll時鐘使能信號)同時拉高時,發送idle_data中的相應比特來取代fifo_data中的相應比特,如圖4所示。   

  
圖4 射頻定時發送器在空閑情況下的工作流程

transfer idle_data and fifo_data:
module idle_time(fifo_ data,pllon,idle_en,idle_data,rfctrl_o);

1) 定義該模塊的信號線:輸入信號為fifo_data[11:0](FIFO中存儲的射頻控制信息)、idle_data (空閑時需發送的射頻控制信息)、idle_en、pllon;輸出信號為rfctrl_o(最后輸出的射頻控制信息)。

2) 下面對需發送的控制信息進行邏輯組合。其敏感電平是pllon、fifo_data、idle_data和idle_en,即當上述電平中任意一個發生變化時,就執行下面的語句:

always @(pllon or fifo_data or idle_data or idle_en)//組合邏輯電路
begin
rfctrl_o[0] = (idle_en[0])?idle_ data[0]:fifo_data[0];
rfctrl_o[1] = (idle_en[1])?idle_ data[1]:fifo_data[1];
rfctrl_o[2] = (idle_en[2])?idle_ data[2]:fifo_data[2];
rfctrl_o[3] = (idle_en[3])?idle_ data[3]:fifo_data[3];
rfctrl_o[4] = (idle_en[4])?idle_ data[4]:fifo_data[4];
............... ................. ..............
end

競爭發送的仿真結果如圖5所示:在pllon沒有被拉高的情況下,rfctrl_o發送的就是fifo_data的值,只有當pllon被拉高的條件下才會有競爭發送的情況。  

數據采樣時鐘分頻模塊

為了數據發送同步,射頻定時發送器輸出數據的頻率應與外接模塊保持一致,射頻定時發送器采樣發送數據的時鐘是系統時鐘的分頻時鐘。因此,產生分頻時鐘和采樣使能信號是該模塊設計的關鍵所在,并要求每次對發送數據的采樣都應發生在分頻時鐘的上升沿。

generator ad_clk and send ad_sdatao:
module drv_clk(rst_,clk,frq_ drv,ad_sclk,spi_en,rfctrl_data,ad_datao);

1) 定義該模塊的信號線:輸入信號為rst_、 clk、 frq_drv(分頻系數)、rfctrl_data(射頻控制信息);輸出信號為ad_sclk(分頻時鐘)、ad_sdatao(發送數據)。

2) 以clk為基準時鐘,定義一個reg[3:0] count計數器對clk的上升沿進行計數。當count=frq_drv-1時,ad_sclk進行反轉并對count清零,這樣就產生了分頻時鐘。

3) 該模塊設計要求每次對發送數據的采樣都應發生在分頻時鐘的上升沿。但為了避免產生異步,對數據進行采樣時不能以產生的ad_sclk為標準,應仍以clk為基準時鐘。即在每8個clk時鐘的上升沿發送1位的rfctrl_data,并由高位到低位發送,這樣采樣時就不會出現毛刺,能做到較好的同步。

always @(posedge clk or negedge rst_)
begin
count

  
圖5 競爭發送仿真圖  

burst發送模式設計

為了使發送功率更加穩定,射頻定時發送器中設計了一種burst模式,即把一次性需要發送的功率分為幾步發送出去,并規定了每步發送的功率值=step_value*para(每步值×增益),這樣就可以避免在發送功率控制信息時產生突激。

burst step design:
module burst(rst_,clk,apc_ flag_i,step0.....step11,para,ad_s datao,apc_burst_en,apc_burstout);

1) 定義該模塊的信號線:輸入信號為rst_、 clk、 apc_flag_i(apc標志信號)、step0.....step11 (每步需發送的功率值)、para(每步增益)、apc_burst_en(burst模式使能信號);輸出信號為apc_burstout(每步最終發送的功率)、ad_sdatao(發送數據)。

2) 定義assign apc_burstout = step_value*para,設置step_count記錄目前發送的步數,并根據step_count的信息,用step_value存儲當前步數的值。

always @(posedge clk or negedge rst_)
begin
case(step_count)
2'b00: step_value[11:0]

  
圖6 APC在burst模式下發送數據的仿真結果時序圖

結語

作為射頻控制模塊中的重要部分,射頻定時發送器能夠定時發送射頻控制信息,并能根據實際情況調整發送模式。本文對該模塊最重要的四大功能模塊,即定時發送模塊、競爭發送模塊、分頻采樣時鐘模塊以及burst模式發送模塊的設計方案作了基本介紹,希望對芯片設計人員有所幫助。
本文地址:http://m.4huy16.com/thread-16657-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • “芯”光璀璨,鵬城共賞——2025 Microchip中國技術精英年會深圳站回顧
  • Microchip第22屆中國技術精英年會上海首站開幕
  • 技術熱潮席卷三城,2025 Microchip中國技術精英年會圓滿收官!
  • 常見深度學習模型介紹及應用培訓教程
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表