色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

射頻定時發送器的基本功能與設計方案介紹

電子設計 ? 來源:郭婷 ? 作者:電子設計 ? 2018-12-21 09:11 ? 次閱讀

引言

射頻定時發送器是射頻控制模塊中的一個重要組成部分,用于產生需要定時發送的射頻控制信號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] 《= 12’b0;當rst_不為低且we_i為高時,則對FIFO進行寫操作:if(we_i == 1’b1) register_fifo[addwr_i] 《= fifo_data_i;

4) 設計讀FIFO的情況:同樣以clk為參考時鐘,先判斷復位信號,當復位信號為低時,對fifo_data_o進行復位:if(!rst_) fifo_data_o《= 12’b0;當rst_不為低且rd_i為高時,則對FIFO進行讀操作:if(rd_i == 1’b1) fifo_data_o 《= regsiter_fifo[addrd_i];

使能信號及中斷產生模塊

FIFO讀/寫使能信號是由外部模塊驅動的,因此需要設計一個模塊用于產生控制FIFO的讀/寫信號,并且該模塊還需產生時間中斷信號用于使能發送器。

define transfer time

module time_count(rst_,clk,fifo _time,framc,read_en,fifo_read _en,time_int);

1) 首先定義該模塊的信號線:輸入信號為rst_、clk、 fifo_time[15:0](FIFO中存儲的時間信息)、framc(幀計數器值);輸出信號為read_en(FIFO地址累加使能信號)、 fifo_read_en(讀FIFO值使能信號)、time_int(時間中斷信號);再定義一個reg [1:0] time_int_delay,用于存儲time_int在上一個時鐘的信息,如time_int_delay[0] 《= time_int; time_int_delay[1] 《= time_int_delay[0];

2) 定義fifo_read_en信號在time_int被拉高后延遲一個clk拉高,再延遲一個clk拉低,即assign fifo_read_en = time_int |(time_int_delay[0]);定義read_en信號在time_int被拉高后延遲兩個clk后拉高,再延遲一個clk拉低,即 assgin read_en = time_int_delay[0] |(time_int_delay[1])。這樣做的目的是控制在當前clk的上升沿到來時取出FIFO中當前地址的值,然后在下一個clk的上升沿立即計算出下一次取值的地址,這樣就能保證在每一次取值之前其所在的位置已經計算完成,避免了取值出錯的情況。

3) 最后定義如何產生time_int信號。time_int產生的條件是:當fifo_time中存儲的時間信息等于framc時,time_int被拉高,即被使能,if(fifo_time== framc ) time_int 《= 1‘b1;

FIFO讀寫操作的仿真結果如圖3所示,對FIFO的讀/寫操作分別由we_i和rd_i(fifo_read_en)控制,而計算讀FIFO的地址由read_en控制,這樣就能保證在每次取FIFO值之前其所在地址已經被計算完成。

射頻定時發送器的基本功能與設計方案介紹

圖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 《= count+1

if(count == 2*frq_drv-1)

begin

ad_sdatao 《= rfctrl_data[11]; //每次發送rfctrl_data的最高bit

rfctrl_data[11:0] 《= {rfctrl_data[10:0], 1’b0};

//然后rfctrl_data[11:0]左移一位,去除已發送的bit

end

end

這種方式能確保在每一個ad_sclk的上升沿對發送數據的數據進行采樣,避免了產生毛刺。

射頻定時發送器的基本功能與設計方案介紹

圖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]《= step0[11:0];

2’b01: step_value[11:0]《= step1[11:0];

2‘b10: step_value[11:0]《= step2[11:0];

。..。..。..。..。..。.

endcase

end

3) 最后定義當每次apc_burst_en使能時,step_count累加。

仿真結果如圖6所示:當apc_flag_i拉高時,射頻控制信息開始從0步到11步分步發送;當apc_flag_i拉低時,再從第12步到第1步發送。

射頻定時發送器的基本功能與設計方案介紹

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

結語

作為射頻控制模塊中的重要部分,射頻定時發送器能夠定時發送射頻控制信息,并能根據實際情況調整發送模式。本文對該模塊最重要的四大功能模塊,即定時發送模塊、競爭發送模塊、分頻采樣時鐘模塊以及burst模式發送模塊的設計方案作了基本介紹,希望對芯片設計人員有所幫助。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 射頻
    +關注

    關注

    104

    文章

    5594

    瀏覽量

    167911
  • 計數器
    +關注

    關注

    32

    文章

    2256

    瀏覽量

    94700
  • 發送器
    +關注

    關注

    1

    文章

    259

    瀏覽量

    26844
收藏 人收藏

    評論

    相關推薦

    自動發電控制系統具有三個基本功能

    自動發電控制系統(AGC)具有三個基本功能,這些功能在電力系統的運行和調度中發揮著重要作用。以下是這三個基本功能的詳細解析:
    的頭像 發表于 10-03 15:05 ?610次閱讀

    用于現場發送器的高性能16位PWM 4-20 MA DAC

    電子發燒友網站提供《用于現場發送器的高性能16位PWM 4-20 MA DAC.pdf》資料免費下載
    發表于 09-26 10:52 ?0次下載
    用于現場<b class='flag-5'>發送器</b>的高性能16位PWM 4-20 MA DAC

    使用MSPM0 MCU優化現場傳感發送器應用

    電子發燒友網站提供《使用MSPM0 MCU優化現場傳感發送器應用.pdf》資料免費下載
    發表于 09-07 10:46 ?0次下載
    使用MSPM0 MCU優化現場傳感<b class='flag-5'>器</b>和<b class='flag-5'>發送器</b>應用

    校正射頻發送器的外部和內部射頻功率衰減

    電子發燒友網站提供《校正射頻發送器的外部和內部射頻功率衰減.pdf》資料免費下載
    發表于 09-03 11:05 ?0次下載
    校正<b class='flag-5'>射頻</b><b class='flag-5'>發送器</b>的外部和內部<b class='flag-5'>射頻</b>功率衰減

    使用超聲波發送器和接收構建高性能NDT系統

    電子發燒友網站提供《使用超聲波發送器和接收構建高性能NDT系統.pdf》資料免費下載
    發表于 08-28 11:00 ?0次下載
    使用超聲波<b class='flag-5'>發送器</b>和接收<b class='flag-5'>器</b>構建高性能NDT系統

    如何隔離兩線制環路供電式現場發送器

    電子發燒友網站提供《如何隔離兩線制環路供電式現場發送器.pdf》資料免費下載
    發表于 08-27 09:40 ?0次下載
    如何隔離兩線制環路供電式現場<b class='flag-5'>發送器</b>

    TX7516五級16通道發送器數據表

    電子發燒友網站提供《TX7516五級16通道發送器數據表.pdf》資料免費下載
    發表于 07-25 11:48 ?0次下載
    TX7516五級16通道<b class='flag-5'>發送器</b>數據表

    TX75E16高度集成、高性能發送器數據表

    電子發燒友網站提供《TX75E16高度集成、高性能發送器數據表.pdf》資料免費下載
    發表于 07-12 10:05 ?0次下載
    TX75E16高度集成、高性能<b class='flag-5'>發送器</b>數據表

    CAN FD盒基本功能包括哪些

    CAN FD盒基本功能有哪些? CAN FD盒作為CAN FD總線通信的重要設備,其基本功能包括但不限于以下幾點: (1)數據發送與接收: CAN FD盒需要能夠按照指定的CAN FD標準和協
    的頭像 發表于 07-02 16:21 ?915次閱讀

    智能工廠的架構及ERP的基本功能是什么?

    一、引言 隨著科技的飛速發展,智能制造逐漸成為制造業的主流趨勢。智能工廠作為智能制造的核心,其架構和ERP系統的基本功能對于提高生產效率、降低成本、提升產品品質具有重要意義。本文將詳細介紹智能工廠
    的頭像 發表于 06-07 15:27 ?1446次閱讀

    可編程邏輯控制基本功能

    能力、靈活的編程方式以及易于擴展和維護的特點,成為了工業自動化控制系統中不可或缺的一部分。本文將詳細解析PLC的基本功能,包括邏輯控制、數據處理、通信聯網、運動控制、過程控制、定時與計數、故障診斷與保護等,并探討這些功能在工業自
    的頭像 發表于 06-03 15:10 ?885次閱讀

    multisim電路仿真軟件有哪些基本功能

    Multisim是一款強大的電路仿真軟件,它提供了許多基本功能,用于設計、分析和測試各種電子電路。下面是Multisim的基本功能的詳細介紹。 電路設計:Multisim允許用戶使用直觀的界面設計
    的頭像 發表于 05-04 10:44 ?3714次閱讀

    適用于WPC v1.2 A11發送器的低成本5V無線電源發送器模擬前端bq50002A數據表

    電子發燒友網站提供《適用于WPC v1.2 A11發送器的低成本5V無線電源發送器模擬前端bq50002A數據表.pdf》資料免費下載
    發表于 04-07 10:01 ?0次下載
    適用于WPC v1.2 A11<b class='flag-5'>發送器</b>的低成本5V無線電源<b class='flag-5'>發送器</b>模擬前端bq50002A數據表

    簡述GDB調試提供的基本功能

    GDB是一個功能強大的源代碼級調試工具,它提供了多種基本功能,幫助程序員** **更好地理解程序的運行機制和定位問題** **。
    的頭像 發表于 01-28 17:44 ?1356次閱讀

    555定時器基本功能 555定時器的工作原理及其應用

    555定時器是一種非常常見和常用的集成電路,它具有廣泛的應用領域,例如計時、頻率分頻、脈沖寬度調制等。本文將詳細介紹555定時器基本功能、工作原理以及應用。 一、555
    的頭像 發表于 01-18 11:12 ?1.6w次閱讀
    主站蜘蛛池模板: 天天久久狠狠色综合| 亚洲精品青青草原avav久久qv| 亚洲AV久久无码精品九号软件| 国产福利视频一区二区| 午夜免费啪视频观看视频| 精品国产午夜肉伦伦影院| 2022一本久道久久综合狂躁| 飘雪在线观看免费完整版 | 精品国产乱码久久久久久上海公司| 亚洲三级视频| 男女疯狂一边摸一边做羞羞视频| 大陆女人内谢69XXXORG| 亚洲看片无码免费视频| 门事件快播| 国产成人a v在线影院| 一级毛片视频免费| 轻轻挺进女教师的身体| 国产亚洲精品久久久久久久软件| 伊人成综合网伊人222| 青草精品国产福利在线视频| 国产婷婷午夜无码A片| 91香蕉福利一区二区三区| 色欲色香天天天综合| 久久久黄色片| 古风一女N男到处做高H| 在线观看国产小视频| 善良的小峓子2在钱免费中文字| 久久久性色精品国产免费观看| 成人网18免费韩国| 宅男午夜大片又黄又爽大片| 色老99九久精品偷偷鲁| 久久婷婷电影网| 国产激情视频在线| 97视频免费在线观看| 亚洲精品国产自在在线观看 | 成人小视频在线免费观看| 伊人影院中文字幕| 午夜精品久久久久久影视riav| 奶水四溅54p| 极品美女久久久久久久久久久| 穿白丝袜边走边尿白丝袜|