台湾AMIC公司的2.4G无线收发IC A7121 有用过的吗?怎么样?
看数据手册,最高速率为3Mbps,收发FIFO各64字节,这些性能都比24L01+好,但SPI接口速度比24L01+小,只有2Mbps,而24L01+可达到10Mbps。在淘宝上有这个模块卖,但跟卖家策,他总是不建议用这个,说操作很麻烦,我看了数据手册,好像也不是很麻烦。。。
唉,烦燥呀!
WiFi模块RN131C速度又调不上,悲剧!!!!
!!!!求助呀!!!!
各位大侠,还有什么好的高速无线通讯模块推荐没有呢?小弟在此谢谢了!!!! 使用他的Direct Mode 同样关注 顶 Direct Mode 的 Transmit Burst Timing TX数据只有一根TXD,一根线数据是怎么放上去的?? 你规格书没有读透。 有个回复【6楼】huangzs
你规格书没有读透。
-----------------------------------------------------------------------
嗯,是的,刚开始接触RF,有些我没能理解好,楼上能否告知这部分在数据手册哪里进行描述? 下了个繁体的数据手册,48页,讲的很详细了,原来看得只有英文手册采用22页,很多东西都没有讲。 A7121首先要初始化好,这是关键,参考他的例程即可。 楼上能发个例程的资料给我吗,邮箱:liangshaotong@gmail.com 谢谢! ;******************************
; Initial RF
;*****************************
WrRegs:
INCM Wr_temp
MOVM Wr_temp,a
CALL RegInitall
MOV Txbuf_M,a
INCM Wr_temp
MOVM Wr_temp,a
CALL RegInitall
MOV Txbuf_H,a
INCM Wr_temp
MOVM Wr_temp,a
CALL RegInitall
MOV Txbuf_L,a
CALL WrTo7121
MOVLA 0x1D
BCM Status,Zero
SUBAM Wr_temp,a
BTMSS Status,Zero
Jmp WrRegs
MOVLA 0x2F
MOV Count,a
Rx_Cal_LP:
CALL WaitOneSec
DECMSZ Count
Jmp Rx_Cal_LP
SetEXIR: ;Synth=0, Synth Mode
MOVLA 0x8C
MOV Txbuf_M,a
MOVLA 0x03
MOV Txbuf_H,a
MOVLA 0xB3
MOV Txbuf_L,a
CALL WrTo7121
; Jmp EnaSynth
Read_calibration:
BCM GPIO_5,Clk_spi
BCM GPIO_5,nLE_7121
MOVLA 0x40 ;Read from IF_filter/Data_filter/Demodulator
MOV Txbuf,a
CALL Wri_spi
CALL Read_spi
BSM GPIO_5,nLE_7121
BCM Status,Carry
RRC Hbyte
;loop_0: BTMSC Lbyte,1
;Jmp Read_calibration
EnaSynth: ;EXIR=0, Synth=0,
MOVLA 0x8C
MOV Txbuf_M,a
MOVLA 0x03
MOV Txbuf_H,a
MOVLA 0xB7
MOV Txbuf_L,a
CALL WrTo7121
;Jmp En_Rx
Read_DVT:
BCM GPIO_5,Clk_spi
BCM GPIO_5,nLE_7121
MOVLA 0x04 ;Read from Synth II
MOV Txbuf,a
CALL Wri_spi
CALL Read_spi
BSM GPIO_5,nLE_7121
MOVLA 0xC0
ANDAM Hbyte,1
BCM Status,Carry
RRC Hbyte,1
RRC Hbyte,1
RRC Hbyte,1
RRC Hbyte,1
RRC Hbyte,1
RRC Hbyte,1
;loop_1: BTMSC Lbyte,1
;Jmp Read_DVT
;***********************************
;以上为A7121的初始化主程式
;**********************************
En_Rx: ;进入Rx状态
NOP
MOVLA 0xB4
MOV Txbuf_M,a
MOVLA 0x00
MOV Txbuf_H,a
MOVLA 0x01
MOV Txbuf_L,a
CALL WrTo7121
;********************************
;下面是子程式
;*******************************
WrTo7121:
BCM GPIO_5,Clk_spi
BCM GPIO_5,nLE_7121
MOVLA 0x18
MOV Count,a
BCM Status,Carry
WrTo7121_LP:BSM GPIO_5,Clk_spi
BCM GPIO_5,Sda_spi
RLC Txbuf_L
RLC Txbuf_H
RLC Txbuf_M
BTMSC Status,Carry
BSM GPIO_5,Sda_spi
BCM GPIO_5,Clk_spi
NOP
DECMSZ Count
Jmp WrTo7121_LP
BSM GPIO_5,nLE_7121
RETL 0x00
;************************
;初始化寄存器数据表
;***********************
RegInitall:
ADDAM Pcl
RetIC: RETL 0x8C ;寄存器地址
RETL 0x00 ;下面2字节为寄存器数据
RETL 0x00
EnaChip: RETL 0x8C
RETL 0x01
RETL 0xB3
DisaTRx: RETL 0xB4
RETL 0x00
RETL 0x00
Synth_1: RETL 0x80
RETL 0xEC
RETL 0xA2
Synth_2: RETL 0x84
RETL 0x08
RETL 0x24
SysClk: RETL 0x88
RETL 0x0C
RETL 0xA2
Rx_Ctrl_1:RETL 0x98
RETL 0x08
RETL 0xF5
Rx_Ctrl_2:RETL 0x9C
RETL 0x00
RETL 0x37
Cal_Ctrl_1: RETL 0xB0
RETL 0x01
RETL 0xF4
Rx_Cal_Ena: RETL 0xB4
RETL 0x00
RETL 0x02
;************************ 谢谢 huangzs ,我初始化已经OK了,在FIFO模式下可以通信,但是由于通信速率达不到我要求需要考虑direct mode,direct mode考虑到同步采样时钟的问题,原本计划采用BB_CLK的上升沿中断来同步,一计算发现3Mclk的上升沿中断,CortexM3中断PUSH和POP共需要24CLK,不考虑中断执行,理论主频都需要72MHz,MCU这样做不可行,不知道有没有其他的同步的方式? 我的理解是需要保证MCU能连续输出DATA数据流即可,就是3M的每一个CLK输出一BIT数据 最近我正想用A7121无奈找不到手册和数据。请楼主帮忙发一下详细的数据手册吧?英文的中文的都要。我的邮箱是ericgaofz@gmail.com
多谢楼主了。 回复【8楼】iEye
-----------------------------------------------------------------------
朋友帮忙发一下A7121 的手册吧? 我找了半天都没有找到那里有下载啊。多谢了。 回复【15楼】sonyfangy
回复【8楼】ieye
-----------------------------------------------------------------------
朋友帮忙发一下a7121 的手册吧? 我找了半天都没有找到那里有下载啊。多谢了。
-----------------------------------------------------------------------
有段时间没来,不好意思,已发你邮箱 如果既追求速度又要求成本,是有点麻烦的。你既然已经调试通过1个,使用MIMO就很好啊。
两个收,两个发,工作在不同频点就好。或者3对? direct mode不是那么简单的!
需要软件处理 头,地址,尾,校验(纠错),重发等。
就好像UART一样,你的接收端的检测很重要。8倍采样?16倍采样?时钟恢复?
如果受到温度电压等影响,收发两边频率有千分之一的误差,数据包500bit时......
页:
[1]