Todo o controle do rádio é feito através de comando enviados via SPI e através do pino SLP_TR. Existem seis tipos de comandos usados para se comunicar com rádio via SPI: Register Write, Register Read, Frame Buffer Write, Frame Buffer Read, SRAM Write e SRAM Read. O inicio do envio de cada comando é indicado setando o pino SEL para low e o fim é indicando setando o pino SEL para high.
O comando Register Write9 é utilizado para escrever nos registradores do rádio. O AT86RF230 possui um conjunto de registradores que são utilizados para configurar o seu funcionamento. Para escrever nos registradores envia-se pelo barramento um byte com cabeçalho indicando o comando e o endereço do registrador. O segundo byte enviado é o valor a ser escrito no registrador.
O comando Register Read10 é semelhante ao anterior. Neste caso o segundo byte retornado é o valor do registrador.
O comando Frame Buffer Write11 é utilizado para escrever no frame buffer do rádio um pacote a ser transmitido. O primeiro byte enviado indica o comando, o segundo byte é o campo PHR (tamanhodo pacote), e os bytes seguintes são os bytes referentes ao campo PSDU (os dados) do pacote.
No comando Frame Buffer Read12, após o primeiro ter sido enviado, os bytes recebidos são referentes aos campos PHR e PSDU do pacote. Um byte é lido no final contendo informações referentes a qualidade do sinal para o pacote recebido.
Os comandos SRAM Write e SRAM Read servem para acessar bytes especificos no frame buffer e não são usados.
Uma classe chamada AT86RF230_HAL foi criada para abstrair essa comunicação de baixo nível entre o rádio e o microcontrolador. A figura 13 apresenta métodos públicos da classe.
Tiago Rogerio Muck 2009-07-08