How to increase size of Tx and Rx Buffer in SMAC?

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

How to increase size of Tx and Rx Buffer in SMAC?

1,512 次查看
mou
Contributor III
Hi,
Can anyone help me out regarding the Transmit and Receive Buffer size in SMAC? By default, SMAC supports TX and RX buffer size of 128. The structures for RX and TX packets, as defined in SMAC, are given below:-

/*! defines the variable to be received by the SMAC */
typedef struct {
   UINT8 u8MaxDataLength; //!< maximum packet size to accept If greater packet is dropped
   UINT8 u8DataLength;         //!< length in bytes of the received packet
   UINT8 *pu8Data;                 //!< where the application would like to have the received data copied into
   UINT8 u8Status;                 //!< determine if the data indication is due to a received packet or a timeout.
} tRxPacket;

/*! variable to be transmitted by the SMAC.*/
typedef struct {
    UINT8 u8DataLength; //!< number of bytes to transmit
    UINT8 *pu8Data;            //!< pointer to the data buffer to transmit
} tTxPacket;

I have changed the datatypes of u8MaxDataLength and u8DataLength of tsRxPacket and u8DataLength of tsTxPacket to UINT16, so that it can accomodate more than 128 buffer elements. And, u8MaxDataLength has been initialized to value greater than 128. But, it is not working.
So, can anyone please suggest a way to transmit a packet containing more than 128 elements and can receive a packet of more than 128 elements?

Thanks and regards,
Mou

标签 (1)
0 项奖励
回复
1 回复

640 次查看
UK_CF_FAE
NXP Employee
NXP Employee
Hi Mou,
 
Yes,  a good question.
 
It has been a little while since I used the SMAC, but if I remember correctly, the SMAC puts the transceiver into packet mode. The maximum payload for the radio frame is 125 bytes. See the datasheet for the device, chapter 4.1.
 
It may be possible for you to increase the size of the transmitted and received packets from the MCU perspective, but these are needing to be fragmented before they are sent, or once they have been received. For that reason, I think that it is going to need a quite some thought for you to achieve what you want. The SMAC is going to stay the same, and you'll have to introduce your fragmentation management at the application layer.
 
Good lck,
 
Mark
 
 
0 项奖励
回复