NRF51822 BLE yongası nedir?

nRF51822, Bluetooth Low Energy ve 2,4 GHz ultra düşük enerji kablosuz uygulamaları için ideal olan güçlü, esnek ve çoklu protokol destekli bir SoC'dir. 256 kB flash + 16 kB RAM'e sahip 32 bit ARM® Cortex™ M0 CPU üzerine kurulmuştur. Yerleşik 2,4 GHz alıcı-verici, Bluetooth Düşük Enerji ve 2,4 GHz çalışmasını destekler; burada 2,4 GHz modu, Nordic Semiconductor’un nRF24L ürün ailesiyle kablosuz olarak uyumludur.

NRF51822'nin Özellikleri

  • Tek yongalı, yüksek esnekliğe sahip, 2,4 GHz çoklu protokol cihaz;
  • 32 bit ARM Cortex M0 CPU çekirdeği;
  • 256 KB flash, 16 KB RAM;
  • S110 Bluetooth Düşük Enerji protokol yığınını destekler;
  • S110, 80 kB bellek alanı gerektirir;
  • İş parçacığı güvenliği ve çalışma zamanı koruması;
  • Olay odaklı API;
  • nRF24L Serisi ile kablosuz uyumlu;
  • 3 veri hızı (2Mbps/1Mbps/250kbps);
  • +4dBm çıkış gücü;
  • -92,5 dBm hassasiyet, Bluetooth düşük enerji;
  • Analog ve dijital G/Ç için yapılandırılabilir G/Ç eşlemesi;
  • Enerji verimliliği uygulamalarını en üst düzeye çıkarmak ve kodu basitleştirmek için PPI sistemi;
  • Her bir çevre birimi ürünü için otomatik enerji yönetimi özelliğine sahip esnek enerji yönetim sistemi;

nRF51822'nin pin dizilişi

nRF51822 pin dizilişi 36 pinden oluşur ve her bir pin belirli bir işleve sahiptir. Pinler dört ana kategoriye ayrılabilir: GPIO, ADC, I2C ve PWM. GPIO pinleri dijital giriş/çıkış için kullanılabilir ve giriş ya da çıkış olarak yapılandırılabilir. ADC pinleri analog giriş için kullanılabilir; I2C ve PWM pinleri ise iletişim ve PWM kontrolü için kullanılabilir.

83853322 c9d08e80 a71d 11ea 8fd2 7abbc8d507dd

Yukarıda bahsedilen pinlere ek olarak, nRF51822'de iki adet sıfırlama pini, iki adet yonga etkinleştirme pini, iki adet VTREF pini, dört adet güç kaynağı pini ve birkaç başka pin daha bulunmaktadır. Sıfırlama pinleri cihazı sıfırlamak için, yonga etkinleştirme pinleri cihazı etkinleştirmek için ve VTREF pinleri ise analog referans gerilimi sağlamak için kullanılır.

NRF51822 Nasıl Programlanır?

NRF51822 BLE modülünü programlamak biraz karmaşık bir iştir; aşağıda adımlar yer almaktadır.

Ortam Oluşturma ve GPIO Kullanımı

1. Adım: Geliştirme Araçları

MDK Microcontroller Development Kit
MDK Microcontroller Development Kit
v12.2.0 NRF51 SDK Development Kits
v12.2.0 NRF51 SDK Development Kits

2. Adım: Geliştirme Ortamının Oluşturulması

Yeni bir klasör oluşturun; burada "component", SDK sıkıştırılmış paketinin açılmış dosyasıdır. Yapılandırma dosyasının içinde, SDK'daki örneklerden kopyalanan sdk_config.h dosyası bulunur. "Users" ise MDK projesinin depolandığı klasördür.

Create a new folder nRF51822 development

MDK ve paket yükleyicisini açın. Ardından, gerekli paketleri yüklemek için nRF51822 yongasını bulun ve seçin.

install packs for nRF51822 in MDK
install packs for nRF51822 in MDK

Şekilde gösterildiği gibi, CORE dosyasını ve Startup dosyasını seçin.

Select the CORE and Startup in software component for nRF51822
Select the CORE and Startup in software component for nRF51822

3. Adım: GPIO Programı Yazma

nrf_gpio.h kütüphane dosyasında GPIO ile ilgili ayrıntılı bir giriş bulunmaktadır ve aşağıda birkaç temel işlev listelenmiştir.

				
					//input Output
typedef enum
{
     NRF_GPIO_PIN_DIR_INPUT = GPIO_PIN_CNF_DIR_Input, ///< Input.
     NRF_GPIO_PIN_DIR_OUTPUT = GPIO_PIN_CNF_DIR_Output ///< Output.
} nrf_gpio_pin_dir_t;

// pull up and pull down
typedef enum
{
     NRF_GPIO_PIN_NOPULL = GPIO_PIN_CNF_PULL_Disabled, ///< Pin pull-up resistor disabled.
     NRF_GPIO_PIN_PULLDOWN = GPIO_PIN_CNF_PULL_Pulldown, ///< Pin pull-down resistor enabled.
     NRF_GPIO_PIN_PULLUP = GPIO_PIN_CNF_PULL_Pullup, ///< Pin pull-up resistor enabled.
} nrf_gpio_pin_pull_t;

//Input and output initialization configuration
void nrf_gpio_cfg_output(uint32_t pin_number);
void nrf_gpio_cfg_input(uint32_t pin_number, nrf_gpio_pin_pull_t pull_config);

//Output high and low/flip level
void nrf_gpio_pin_set(uint32_t pin_number);
void nrf_gpio_pin_clear(uint32_t pin_number);
void nrf_gpio_pin_toggle(uint32_t pin_number);

// read input and output levels
uint32_t nrf_gpio_pin_read(uint32_t pin_number);
uint32_t nrf_gpio_pin_out_read(uint32_t pin_number);
				
			

Şimdi, LED'in pin üzerindeki konumunu belirlememiz gerekiyor. nRF51822'nin şematik şemasına göre, P0.07 pini LED'e bağlıdır.

				
					#include "nrf_delay.h"
#include "nrf_gpio.h"

#define LED 7

int main(){
  
   nrf_gpio_cfg_output(LED);
  
   nrf_gpio_pin_clear(LED); //Output low level
  
   while (1) {
    

      
     nrf_gpio_pin_toggle(LED); // flip level
    
     nrf_delay_ms(1000);
    
    
   }
}
				
			

Yukarıdaki kodları yazdıktan sonra, başlık dosyasının yolu bulunamadığı için bir derleme hatasıyla karşılaşacaksınız. Bu nedenle, aşağıda gösterildiği gibi başlık dosyasını içe aktarmamız gerekiyor:

Setup compiler include paths
Setup compiler include paths

Ardından, aşağıda gösterildiği gibi makro tanımını yapın:

Setting macro definition for nRF51822 and compile
Setting macro definition for nRF51822 and compile

4. Adım. Programı indirin

Geliştirme kartını ve bilgisayarı J-Link'in yazılım yöntemiyle bağlayın ve nRFgo Studio'yu açın.

  • nRF5x Programming'i tıklayın;
  • Hafızayı temizlemek için Erase all'ı tıklayın;
  • Hex dosyasını seçin;
  • nRF5x'i programlayın ve indirin.
Executing nRF5x Programming in nRFgo Studio
Executing nRF5x Programming in nRFgo Studio

nRF51822'nin Uygulamaları

  • Bluetooth Smart Uygulaması;
  • Cep telefonu aksesuarları;
  • Bilgisayar çevre birimleri;
  • Akıllı ev aletleri: fitness ve sağlık sensörü;
  • Elektronik oyun kumandası;
  • Yaklaşma ve Güvenlik Uyarı Sistemleri;
  • Ev/Endüstriyel Kontrol ve Veri Toplama;
  • Akıllı RF Takip ve Sosyal Etkileşim;
  • TV'ler, set üstü kutular ve medya sistemleri için uzaktan kumandalar;

NRF51822 ile NRF51802 Karşılaştırması

Ayrıca, NRF51822 ile aynı seride yer alan NRF51802 yongası için, bu iki yonganın FLASH RAM kapasitesi aynıdır. Aradaki fark, hassasiyet, güç tüketimi, bekleme akımı ve dahili uyanma süresi açısından küçük farklılıklar bulunmasıdır. 51822 modelinin sunduğu genel veriler daha iyidir. Genellikle, bu iki model birbirinin yerine kullanılabilir.

Şu anda, şirketimiz NRF51822 ve NRF51802 Bluetooth yongalarının tersine analizini, şifre çözme ve analiz optimizasyonunu gerçekleştirmiştir.

Paylaş:

Scroll to Top

Instant Quote