CMT2300A FPGA控制程式

2021-10-09 22:13:20 字數 1064 閱讀 6983

又來翻譯c的程式了,哈哈

首先來看一下晶元

cmt2300a是一款數字模擬一體化收發機產品。該產品採用26mhz的晶體提供pll的參考頻率和數字時鐘,同時支援ook和(g)fsk的調製解調模式,並支援direct和packet兩種資料處理模式。

晶元提供了spi通訊口,外部的mcu/fpga可以通過訪問暫存器的方式來對晶元的各種功能進行配置,控制主控狀態機,並訪問fifo。

spi 介面時序

晶元是通過4-線的spi 口與外部進行通訊的。低有效的csb是用於訪問暫存器的片選訊號。低有效的fcsb

是用於訪問fifo 的片選訊號。兩者不能同時設為低。scl 是串列埠時鐘,最快速度可以到5mhz。無論對於芯

片本身,還是外部的mcu,都是在sclk 的下降沿送出資料,在上公升沿採集資料。sdio 是乙個雙向的腳,用

於輸入和輸出資料。位址和資料部分都是從msb 開始傳送。

這些資訊都可以在《an142-cmt2300a 快速上手指南_cn_v0.9.pdf》找到資料報cmt2300a中文文件

配合stm32例項程式cmt2300a-stm32例程服用效果更佳。

需要注意的幾個點

1、頻偏設定需要大於10k,太小的頻偏需要更高質量的晶振;

2、軟體上的模擬開關(enable_antenna_switch cmt2300a_enableantenaswitch(1/0))和硬體上gpio1、gpio2和txant、rxant的連線關係;

3、天線和所選頻率是否匹配;

4、收發資料的操作時間間隔,因為是半雙工的,計算收發時間的時候記得算上前導和同步碼

關於跳頻:

按照正常配置流程前面的儲存器配置完成後go_sleep生效配置暫存器,然後進入go_standby,再清中斷後重新配置0x18、0x19、0x1a、0x1b、0x1c、0x1d、0x1e、0x1f、0x3d、0x3e、0x3f、0x40、0x41、0x42、0x43、0x44、0x27暫存器 後收發流程就可以以新的頻率收發資料了。

資源中分為跳頻和未跳頻版本,跳頻就是每次收發完成後可以指定下一次收發的頻點設定,不跳頻就一直用乙個頻點收發。

cmt230a-fpga控制程式

Linux下的cmt2300a驅動

dts配置 cmt2300a 非標準的spi的介面,使用gpio來模擬spi en gpios晶元使能腳 gpio1 gpios代表傳送完成 cmt2300a觸發int1 拉高 gpio2 gpios代表接收完成 cmt2300a觸發int2 拉高 當然可以也可以配置,預設為 cmt2300a co...

CMT跟蹤演算法學習筆記

近期在學習目標跟蹤演算法的過程中發現,cmt演算法的 實測效果非常不錯。對比之前學習過的scm之類基於稀疏表示的跟蹤演算法,cmt的魯棒性雖然不一定比之更高,但稀疏表示的方法普遍耗時很嚴重,導致其無法應用於實際工程專案,而cmt卻能兼顧實時性和魯棒性。查閱資料發現,cmt對應的 曾經拿下了2014年...

bzoj 2300 防線修建

題意 給出乙個點集,每次可能刪去乙個點或查詢上凸包的面積 保證無重點,保證最左面 最右面的點一定在凸包上 n 100000,m 200000 題解 動態凸包問題,然而這道題的保證簡直極為良心 所以呢,我們就可以用set來水這道題啦 我還是漲了不少姿勢的,比如迭代器居然可以自減 離線所有的操作之後處理...