Haberler:

Forum kuralları güncellendi LÜTFEN  okuyunuz:  https://bit.ly/2IjR3ME

Ana Menü

LPC8xx

Başlatan MC_Skywalker, 26 Haziran 2013, 09:55:08

MC_Skywalker

NXP firması Cortex M0 kullanan en küçük BGA yapıya sahip LPC11xx MCU sundan sonra Cortex M0+ çekirdekli en küçük DIP8 paketli LPC8xx MCU sunu çıkarttı. Fernerlde 1-10 adet alım için 0.75€ birim fiyatı ile satışta olmasına rağmen tedarik süresi 65 gün görünmekte.

NXP'nin beleş kit çekilişinden elim boş dönünce beklemeye karar vermiştim. sonra NXP nin mailllerinde bir mini kiti kendin pişir kendi ye mantığı ile yapmak isteyenlere elemanları satan bir sitenin linkini göndermesi ile sparişimi verdim. http://www.adafruit.com/products/1336

USA dan geldikten sonra ilk çalışmamın yapabileceğim (sanırım UPS bugün öğlenden sonra teslim edecek sitesinde ki bilgiye göre)

DIP8 paketli MCU LPC810M021FN8  kodu ile bilinmekte 30Mhz lik saat hızı ile çaşılmakta. %1 hasaiyetli dahili RC osilatör barfındırmakta. 1K RAM ve 4K Flash belleğe sahip. SWD ve JTAG desteği ile IAP ve ISP desteği mevcut. Dahili Bootloader i bulunmakta.

MCU sayfası. http://www.nxp.com/products/microcontrollers/cortex_m0_m0/LPC810M021FN8.html;jsessionid=42790D21DAE2496246B7B957127F1FFA

Çalışmaya başlamadan önce biraz ön hazırlık. Bilgisayarımda kurulu olan Keil 4.70 sürümü LPC8xx ailesini desteklememekte bu sebepten son version olan 4.72 ye güncelemmi yaptım. ISP ile programlaya bilmek içinde Flashmacig yazılımını güncelemek gerekmekte. http://www.flashmagictool.com/

LPC8xx ailesinde MCU GPIO portları dış dünyaya Switchmatrix denen bir yapı ile bağlanmakta. bu geneleksel yolla yaptığımız pin kofigürasyonunu kolaylaştırmış.  NXP bunun için mini bir tool hazırlamış ve paylaşıma sunmuş.  http://www.lpcware.com/content/nxpfile/nxp-switch-matrix-tool-lpc800



Pin konfigürasyonu için yeni register isimlerine alışana kadar bu tool bizim işimizi çok kolaylaştıracak. Tool Java ile yazıldığı için PC mizde Java Runtime yüklü olması gerekmekte. Yapmamız gereken tool ile üretilen  c kodunu projemize entegre etmek.  Tool tanımak için yaptığım denemede elde edilen kod parçası.

#include <lpc8xx.h>
#include "type.h"

void SwitchMatrix_Init() 
{ 
    /* Enable SWM clock */
    LPC_SYSCON->SYSAHBCLKCTRL |= (1<<7);

    /* Pin Assign 8 bit Configuration */
    /* none */

    /* Pin Assign 1 bit Configuration */
    /* SWCLK */
    /* SWDIO */
    /* RESET */
    LPC_SWM->PINENABLE0 = 0xffffffb3UL; 
}


şimdilik ara elemanlar elimde olunca denememi yapacağım. paylaşacağım.


Tagli

#1
Adafruit LPC1114FN28'i de satsaymış güzel olurmuş aslında. LPC810'u tek satmayıp kit olarak satmaları da kötü.

Bu arada, Switch Matrix aracının Java'da yazılmış olması çok iyi. Denedim, Linux'ta da sorunsuz çalışıyor gibi.

Ekleme: Satın alayım diye bir heyecanla Adafruit'e girdim. Daha önce RPi'ye de buradan almıştım. 46$'lık kargo ücretini görünce geri çıktım. Hevesim kursağımda kaldı.
Gökçe Tağlıoğlu

MC_Skywalker

Ben yanında başka şeylerde aldım.  Kit içindeki USB to RS232 olması çok iyi. elimdeki eski modeller 64bit Win7 de sorun çıkartıyor. bakalım bu sorun çıkartacakmı?

Yanlız fernelde iyat artmış  1-9 için adet 0.85€ olmuş. http://tr.farnell.com/nxp/lpc810m021fn8fp/mcu-32bit-cortex-m0-30mhz-8dip/dp/2320692?Ntt=LPC810M021FN8

Tagli

Farnell organizasyonunu kaçırdım sanırım ama acelem yok. Bir sonraki organizasyonda LPC1114 ve LPC810 almayı düşünüyorum.
Gökçe Tağlıoğlu

MC_Skywalker

#4
ilk kodu derlemeye çalışıyorum ama .\810_blink.axf: Error: L6218E: Undefined symbol SystemInit (referred from startup_lpc8xx.o). biryerlerde hata yapıyorum ve oda çok basit birşey fakat göremiyorum. LPC1768 için kullandığım kodu devşirmeye çalışıyorumda.


/*
[PinNo.][PinName]               [Signal]    [Module]
 1       RESET/PIO0_5            RESET       SYSTEM
 2       PIO0_4                  PIO0_4      GPIO0
 3       SWCLK/PIO0_3            SWCLK       SYSTEM
 4       SWDIO/PIO0_2            SWDIO       SYSTEM
 5       PIO0_1/ACMP_I2/CLKIN    PIO0_1      GPIO0
 6       VDD                                 
 7       VSS                                 
 8       PIO0_0/ACMP_I1          PIO0_0      GPIO0
*/
//
#include "LPC8xx.H" 										//islemcinin kaynak dosyasi ekleniyor.
#include "type.h"

void SwitchMatrix_Init() 
{ 
    /* Enable SWM clock */
    LPC_SYSCON->SYSAHBCLKCTRL |= (1<<7);

    /* Pin Assign 8 bit Configuration */
    /* none */

    /* Pin Assign 1 bit Configuration */
    /* SWCLK */
    /* SWDIO */
    /* RESET */
    LPC_SWM->PINENABLE0 = 0xffffffb3UL; 
}

/* Gecikme Fonksiyonu */
void Gecikme (long int sure)
{
long int i,k;														// 16 bitlik i degiskeni tanimlaniyor.
for (i=1;i<=sure;i++) 									// girilen deger i degiskeninden büyük olana kadar for içerisinde dön
    {
        for (k=0;k<=12000;k++)
        {}
    }
}
/* Ana Fonksiyon */
int main (void)
{
SwitchMatrix_Init();
	LPC_GPIO_PORT->DIR0 = 1; 			        //giris cikis ayarlama komutu 1 cikis 0 giris
                                        // 1. biti cikis digerleri giris
while (1)                               
    {		//sonsuz döngü
        LPC_GPIO_PORT->SET0 = 1;        //1. biti 1 yap
        Gecikme(500); 			            //bekleme yap (yaklasik 500 msn - 12Mhz de)
        LPC_GPIO_PORT->CLR0 = 1 ; 		  //1. biti 0 yap
        Gecikme(500); 									//bekleme yap (yaklasik 500 msn - 12Mhz de)
    }
}

MC_Skywalker

sorun çözüldü.

projeye system_LPC8xx.h ve sytem_LPC8xx.c dosyaların dahil etmek gerekliymiş.  SystemInit  tanımlamaları. bu dosyalardan geliyor.

Kit az önce elime ulaştı. şimdi sıra çalışan kod yazmada.  ;)




MC_Skywalker

NXP den ilginç bir demo board.  Ceptelefonunun kulaklık çıkışından beslenen LPC81x ARM MCU kartı

http://www.nxp.com/demoboard/OM13069.html#overview

Elektroemre

#7
Vay arkadaş fantaziye gel! Sağ kulaklık çıkışından alınan Vpp=650mV sinüsü diyotla katlayarak LDO'ya girmişler.

http://www.lpcware.com/system/files/AN11552_1.pdf

kantirici

valla fantazi olmuş ama sonuçta ortaya güzel bir çalışma çıkmış. İlham verici.

Erhan YILMAZ

Alıntı yapılan: MC_Skywalker - 28 Mayıs 2014, 16:53:41
NXP den ilginç bir demo board.  Ceptelefonunun kulaklık çıkışından beslenen LPC81x ARM MCU kartı

http://www.nxp.com/demoboard/OM13069.html#overview

Bende bunu inceliyordum demin. Fikir çok enteresan. Güzel aletler yapılabilir bu yöntemle.

MC_Skywalker

[reklam modu açık]
Bir fikrin mi ne duyorsun hemen çekilişe katı beleş geliştirme kartı kap.
Ne yapmak gerektiğni biliyorsun ;)
http://www.nxp.com/campaigns/lpc800-go/form-win-a-quick-jack-board
[reklam modu kapalı]  ;D 8)

interrupter

beslemesini kulakliktan almasını çok yadırgadim. simdi bu kitte müzik yoksa işlemde mi. yok anlamına geliyor.  sistem çok düşük akım çekiyor galibaa.  ama hiç beğenmedim çok anlamsız tabi bu benim düsüncem

hasankara

düşünüyorum da {kolay kırılabilir olsun da insanlar birbirine satma durumunu ortadan kaldıralım} ya da ne bileyim, en azından daha estetik olamaz mı diye düşününce de {biz bunu buradan hiç bir anlamı olmayacak şekilde çıkartalım ki böylece insanlar daha uzun süre çözmek için kafa yorsun ve akılda kalalım} bunların dışında pek bir ilham alamadım.

Erhan YILMAZ

Alıntı yapılan: MC_Skywalker - 28 Mayıs 2014, 22:36:13
[reklam modu açık]
Bir fikrin mi ne duyorsun hemen çekilişe katı beleş geliştirme kartı kap.
Ne yapmak gerektiğni biliyorsun ;)
http://www.nxp.com/campaigns/lpc800-go/form-win-a-quick-jack-board
[reklam modu kapalı]  ;D 8)
Etkinlik güzelmiş hocam 1-2 fikir karaladım gönderdim bakalım.