In System Programmer Design for Microcontrollers Via Controller Area Network



Benzer belgeler
BÖLÜM Mikrodenetleyicisine Giriş

İletişim Protokolleri (Communication Protocols)

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

CAN ( CONTROL AREA NETWORK ) ÜZERİNDEN PIC PROGRAMLAMA. İlker ÜNAL

Hacettepe Robot Topluluğu

Yrd. Doç.Dr. C. Harmanşah PARALEL PORT

RF İLE ÇOK NOKTADAN KABLOSUZ SICAKLIK ÖLÇÜMÜ

WiFi Relay Sayfa 1 / 11. WiFi Relay. Teknik Döküman

İşletim Sistemleri (Operating Systems)

DOKUMANLAR

Adres Yolu (Address Bus) Bellek Birimi. Veri Yolu (Databus) Kontrol Yolu (Control bus) Şekil xxx. Mikrodenetleyici genel blok şeması

EEM 419-Mikroişlemciler Güz 2016

ETHERNET TEKNOLOJİSİ

BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ

Bahar Dönemi. Öğr.Gör. Vedat MARTTİN

KONTROL VE OTOMASYON KULÜBÜ

DONANIM. 1-Sitem birimi (kasa ) ve iç donanım bileşenleri 2-Çevre birimleri ve tanımlamaları 3-Giriş ve çıkış donanım birimleri

Mikroişlemcili Sistemler ve Laboratuvarı 6.Hafta

EEM 419-Mikroişlemciler Güz 2017

Paralel ve Seri İletişim. Asenkron/Senkron İletişim. Şekil 2: İletişim Modları

4-Deney seti modüler yapıya sahiptir ve kabin içerisine tek bir board halinde monte edilmiştir.

ESM-361 Mikroişlemciler. 1. Hafta Ders Öğretim Üyesi Dr.Öğr.Üyesi Ayşe DEMİRHAN

Mikroişlemci Nedir? Mikrodenetleyici Nedir? Mikroişlemci iç yapısı Ders Giriş. Mikroişlemcili Sistem Uygulamaları

1. Ders Giriş. Mikroişlemcili Sistem Uygulamaları

ANAKART (MOTHERBOARD)

Denetleyici Alan Ağı Üzerinden Mekatronik Bir Sistemin Kontrolü

ATBRFN. Radyo Frekansı (RF) Tabanlı Dorse Takip Birimi. Bilgi Dokümanı (ATBRFN) 1

Denetleyici Alan Ağı Üzerinden Sensör Verilerinin İzlenmesi. Monitoring of Sensor Datas Over the Controller Area Network

Bilgisayar Mühendisliğine Giriş. Yrd.Doç.Dr.Hacer KARACAN

BİLGİSAYAR AĞLARI VE İLETİŞİM

Proje Adı : MATLAB Real-Time Windows Target toolbox kullanımı ve ilişkili bir uygulama geliştirilmesi

PROGRAMLANABİLİR LOJİK DENETLEYİCİ İLE DENEYSEL ENDÜSTRİYEL SİSTEMİN KONTROLÜ

Fatih Üniversitesi. İstanbul. Haziran Bu eğitim dokümanlarının hazırlanmasında SIEMENS ve TEKO eğitim dokümanlarından faydalanılmıştır.

Mikrobilgisayar Mimarisi ve Programlama

İŞLEMCİLER (CPU) İşlemciler bir cihazdaki tüm girdilerin tabii tutulduğu ve çıkış bilgilerinin üretildiği bölümdür.

ETHERNET ÜZERİNDEN VERİ AKTARAN SICAKLIK/NEM ÖLÇÜM İSTASYONU TASARIMI VE UYGULAMASI

Ağ Nedir? Birden fazla bilgisayarın iletişimini sağlayan printer vb. kaynakları, daha iyi ve ortaklaşa kullanımı sağlayan yapılara denir.

A.Ü. GAMA MYO. Elektrik ve Enerji Bölümü ALGORİTMA VE PROGRAMLAMA 1.HAFTA

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2. İçerik. IP ICMP MAC Tracert

ATC-3200 ZigBee to RS232/422/485 Çevirici Kullanıcı Kılavuzu

BÜŞRA YILMAZ ETHERNET KARTI

VIERO ARAÇ SAYIM SİSTEMİ

İŞLETİM SİSTEMİ KATMANLARI (Çekirdek, kabuk ve diğer temel kavramlar) Bir işletim sisteminin yazılım tasarımında ele alınması gereken iki önemli konu

Electronic Letters on Science & Engineering 5(1) (2009) Available online at

TCP / IP NEDİR? TCP / IP SORUN ÇÖZME

WiFi RS232 Converter Sayfa 1 / 12. WiFi RS232 Converter. Teknik Döküman

VIERO, görüntü tabanlı analiz sayesinde, ortalama araç hızı bilgisi üretmekte ve araç yoğunluğunu da ölçmektedir. VIERO Araç Sayım Sistemi

AĞ SĠSTEMLERĠ. Öğr. Gör. Durmuş KOÇ

GAZİANTEP ÜNİVERSİTESİ

BM-311 Bilgisayar Mimarisi

Donanımlar Hafta 1 Donanım

ELEKTRONİK DENEY MODÜLLERİNİN LabVIEW İLE KONTROLÜ CONTROLLING THE ELECTRONIC EXPERIMENTAL MODULES USING LABVIEW

RF Tabanlı Durum Kontrol Özelliğine Sahip LCD Gösterge RF Based LCD Display With Status Check

BETİ GSM/GPRS MODEM KULLANIM KILAVUZU

Çalışma Açısından Bilgisayarlar

BM-311 Bilgisayar Mimarisi. Hazırlayan: M.Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü

İLERI MIKRODENETLEYICILER. Ege Üniversitesi Ege MYO Mekatronik Programı

Öğr.Gör. Gökhan TURAN Gölhisar Meslek Yüksekokulu

FPGA ile Kablosuz Görüntü Aktarımı. Yusuf Onur Koçberber

CAN-BUS HABERLEŞME PROTOKOLÜ İLE BİNA ENERJİ YÖNETİMİ UYGULAMASI

Gömülü Sistem Tabanlı Kablosuz Haberle me Uygulaması Embedded System Based Wireless Communication Application

KULLANIM KILAVUZU PIC ULAK. USB PIC Programlayıcı 3.3V ve 5V Güç Kaynağ Seri USB Dönüştürücü Bağlantı Portları

İçİndekİler. 1. Bölüm - Mİkro Denetleyİcİ Nedİr? 2. Bölüm - MİkroDenetleyİcİlerİ Anlamak

İÇİNDEKİLER 1. KLAVYE KLAVYE RB KLAVYE RBHIGH DİSPLAY... 31

Kontrol Alan Ağı(CAN) ve Tıbbi Cihaz Uygulamaları

Mikroişlemcili Sistemler ve Laboratuvarı 5.HAFTA:BÖLÜM-1

Bilgisayar Ağları ve Türleri

ANDROID AÇIK AKSESUAR API & AKSESUAR GELİŞTİRME. Dr. Fatma Cemile Serçe

Gömülü Sistemler. (Embedded Systems)

HAFTA 1 KALICI OLMAYAN HAFIZA RAM SRAM DRAM DDRAM KALICI HAFIZA ROM PROM EPROM EEPROM FLASH HARDDISK

ANA KARTLAR. Ana Kart Nedir?

Hassas Tarımda CAN (Controller Area Network) Veri İletim Teknolojilerinin Kullanımı

DERS 5 PIC 16F84 PROGRAMLAMA İÇERİK. PIC 16F84 bacak bağlantıları PIC 16F84 bellek yapısı Program belleği RAM bellek Değişken kullanımı Komutlar

Sahada Programlanabilir Kapı Dizileri (FPGA) Sayısal CMOS Tümdevre Tasarımı Y. Fırat Kula

GÖMÜLÜ SİSTEMLER. Bilecik Şeyh Edebali Üniversitesi Gömülü Sistemler Ders notları-1

NETWORK BÖLÜM-4 AĞ TOPOLOJİLERİ. Öğr. Gör. MEHMET CAN HANAYLI CELAL BAYAR ÜNİVERSİTESİ AKHİSAR MESLEK YÜKSEKOKULU

PLC (Programlanabilir Kontrol Cihazı) TABANLI SİSTEMLERİN İNTERNET ÜZERİNDEN İZLENMESİ

Haftalık Ders Saati Okul Eğitimi Süresi

Fırat Üniversitesi Personel Otomasyonu

Her 2 teknolojide de, hem ankastre programlama hem de merkezi programlama kullanılır.

TCP/IP. TCP (Transmission Control Protocol) Paketlerin iletimi. IP (Internet Protocol) Paketlerin yönlendirmesi TCP / IP

Bilgisayar Ağları. Bilgisayar Ağları. Modelleri. Main-Frame Client/Server

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Salı, Çarşamba Öğr. Gör. Murat KEÇECĠOĞLU

BİLGİSAYAR SİSTEMLERİ

Kullanım ve Yardım Kılavuzu

DOD / DEPARMENT OF DEFENCE

Elbistan Meslek Yüksek Okulu Güz Yarıyılı

RF & INTERNET İLE UZAKTAN KONTROL EDİLEN İÇME SUYU KUYULARI VE SU DEPOLARININ PIC MİKROKONTROLCÜ DESTEKLİ OTOMASYONU VE GENİŞ ARAZİDE UYGULANMASI

MCR02-AE Ethernet Temassız Kart Okuyucu

RADYO FREKANSIYLA KABLOSUZ SICAKLIK KONTROLÜ WIRELESS TEMPERATURE CONTROL BY RADIO FREQUENCY

Gazi Üniversitesi Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü. Bilgisayar Ağları Dersi Lab. 2

BĐLGĐSAYAR KONTROLLU CNC SĐSTEMĐ PC CONTROLLED CNC SYSTEM

Temel Mikroişlemci Tabanlı Bir Sisteme Hata Enjekte Etme Yöntemi Geliştirilmesi. Buse Ustaoğlu Berna Örs Yalçın

KENDĐ KENDĐNE YOL BULAN ARAÇ

Çalışma Adı : Uzaktan programlanabilir kayan yazı sistemi

Bilgisayar Sistemleri ilk ortaya çıktığında...

Ders Tanıtım Sunumu AĞ TEMELLERİ. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. 02 EKi Salı. Öğr. Gör.

PROJE RAPORU. Proje adı: Pedalmatik 1 Giriş 2 Yöntem 3 Bulgular 6 Sonuç ve tartışma 7 Öneriler 7 Kaynakça 7

EGE Üniversitesi Network (Ağ) Altyapısı

22/03/2016. OSI and Equipment. Networking Hardware YİNELEYİCİ (REPEATER) YİNELEYİCİ (REPEATER) Yineleyici. Hub

Transkript:

Süleyman Demirel Üniversitesi, Fen Bilimleri Enstitüsü Dergisi, 12-2(2008),149-153 Mikrodenetleyiciler İçin Kontrol Alan Ağı Üzerinden Sistem İçi Programlayıcı Tasarımı Akif KUTLU 1*, İlker ÜNAL 2 1 Süleyman Demirel Üniversitesi,Teknik Eğitim Fakültesi, Elektronik-Bilgisayar Eğitimi Bölümü / ISPARTA 2 Mehmet Akif Ersoy Üniversitesi, ikmet Tolunay Meslek Yüksek Okulu, BURDUR Alınış tarihi:21.10.2007, Kabul tarihi:04.09.20008 Özet:Bu çalışmada, endüstriyel ortamlardaki mekanik ve elektronik sistemlerin kontrolü için kullanılan mikrodenetleyicilerin, ana bilgisayar kullanılarak Kontrol Alan Ağı (CAN) üzerinden Sistem İçi programlanması gerçekleştirilmiştir. Sistemin donanımı ana bilgisayar, CAN arabirimi ve CAN ile haberleşebilen PIC tabanlı mikrodenetleyicilerden oluşur. Sistemin tasarlanan yazılımı, hedef mikrodenetleyicilerin kaynak kodlarını CAN üzerinden transfer edebilmekte, böylece farklı yerlerdeki mikrodenetleyicilerin tek noktadaki ana bilgisayar ile programlanabilmesini sağlamaktadır. Sistem içi programlama (ISP) özelliği, mikrodenetleyicilerin çalışan sistemden sökülmesine gerek duyulmadan programlanabilmesine imkân tanımaktadır. Anahtar Kelimeler: Kontrol Alan Ağı, Sistem İçi Programlama, Mikrodenetleyiciler In System Programmer Design for Microcontrollers Via Controller Area Network Abstract:This paper presents a method of In System programming (ISP) microcontrollers, which is mainly used for controlling mechanical and electronic systems of industrial environments, using a host computer via Controller Area Network (CAN). ardware of the designed architecture consist of a host computer, PCI CAN interface and PIC based microcontrollers that can communicate over CAN. The Designed software of the system enables source codes to be transferred for target microcontrollers via CAN and hence, provides programming multiple microcontrollers, located at different points, using a central host computer. Furthermore, there is no need to remove microcontrollers from the circuit for programming, since it has In System Programming facility. Keywords: Controller Area Network, In System Programming, Microcontrollers Giriş Mikrodenetleyiciler, endüstriyel otomasyon için gerekli olan giriş çıkış ünitelerini içermesinin yanında, bu ünitelerin nasıl çalışması gerektiğini belirten yazılımların (firmware) saklandığı dahili kod hafıza alanına da sahiptirler (Gilmour 1991). azırlanan yazılımların, mikrodenetleyicinin kod hafıza alanına saklanması için gerekli prosedür Programlama olarak nitelendirilir. Programlama, genellikle kişisel bilgisayar (PC) yardımı ile gerçekleştirilir. Programlayıcılar paralel ve seri olmak üzere iki ayrı teknik kullanarak mikrodenetleyicinin programlanmasını sağlar. paralel programlayıcı da paralel ile kastedilen, programlayıcı cihazın bilgisayara olan bağlantısı değil mikrodenetleyiciyi programlama tekniğidir. Paralel programlayıcı kullanarak yapılacak programlama işlemi için, mikrodenetleyicinin çalışan sistem üzerinden sökülerek programlayıcı cihaza takılması gerekir. Paralel programlama tekniği ile mikrodenetleyici üzerindeki tüm hafıza ünitelerine ulaşmak mümkündür. Ayrıca paralel programlayıcılar genellikle farklı mikrodenetleyici türleri, lojik entegre devreler ve hafıza entegre devrelerini de programlayacak şekilde üretilmektedirler. Diğer bir teknik olan seri programlama, mikrodenetleyici içerisinde bulunan yardımcı bir yazılım (bootloader) sayesinde bilgisayarın seri bağlantı noktalarından birisi kullanarak yapılan programlama tekniğidir. Seri programlama tekniğinde mikrodenetleyicinin çalışan sistem üzerinden sökülmesine gerek duyulmaz. Mikrodenetleyici sistemden sökülmeden programlanabildiğinden dolayı Sistem İçi Programlama (In System Programming) veya Devre İçi Programlama (In Circuit Programming) olarak ta adlandırılır. ISP nin kullanılabilmesi için hedef mikrodenetleyicinin çalışma modundan programlama moduna geçirilmesi gerekir. Bu işlemler için uygulanacak prosedürler, mikrodenetleyicilerin ilgili kitapçıklarında detaylı olarak anlatılır (Atmel, 2002a;Microchip, 2006) Seri programlama, içerisinde seri haberleşme yapabilen yazılımı olan (bootloader) mikrodenetleyicilerde kullanılır. Bootloader, mikrodenetleyici içerisinde ayrı bir kod alanında tutulur. Bu kod alanın yeniden programlanabilmesi, sadece paralel programlama tekniği ile mümkündür. Seri programlamanın bir alt birimi olan Uygulama İçi Programlama (IAP-In Application Programming) tekniğinin özelliği ise, mikrodenetleyici üzerinde çalışan uygulama yazılımının, sistem çalışırken kod alanının bir parçasını programlayabilmesini sağlamasıdır (Atmel, 2002b). ISP de olduğu gibi çalışma modundan programlama moduna geçmeye gerek duyulmaz. Seri programlama için kullanılan seri protokoller UART (Universal Asynchronous Receiver Transmitter), SPI * akutlu@tef.sdu.edu.tr 149

A. KUTLU, İ. ÜNAL (Serial Peripheral Interface) ve CAN (Controller Area Network) protokolleridir. Bunlardan UART ve CAN protokolü mikrodenetleyici ile bilgisayar arasındaki iletişim için; SPI ise mikrodenetleyici ile bir başka mikrodenetleyici arasındaki seri iletişim için kullanılır. UART protokolü yalnızca birebir bağlantı için kullanılır. Bundan dolayı, birden fazla mikrodenetleyicinin aynı seri hat üzerinden programlanabilmesi için uygun çözüm CAN protokolünün kullanılmasıdır. UART veya CAN protokollerinden hangisi kullanılacaksa mikrodenetleyici içerisindeki bootloader yazılımı paralel programlayıcı ile değiştirilmelidir. Dilerse kullanıcı kendisine ait bir bootloader yazılımı hazırlayarak kullanabilir. Bu çalışmada bilgisayara takılan PCI CAN kartı aracılığı ile PIC tabanlı 18F458 mikrodenetleyicilerin tek noktadan Sistem İçi Programlama tekniği ile programlanması gerçekleştirilmiştir. Programlama için gerekli prosedürler için ana bilgisayar üzerinde yazılım geliştirilmiştir. azırlanan bu yazılım, hedef mikrodenetleyicileri ayrı ayrı programlayabilme özelliğine sahiptir. Makalenin bölümleri şu şekilde organize edilmiştir: İkinci bölüm CAN protokolü ve erişim metodu ile ilgili bilgileri sunmaktadır. Üçüncü bölümde, tasarlanan sistemin genel yapısı ile hazırlanan bilgisayar programı açıklanmıştır. Çalışmanın değerlendirmesi dördüncü bölüm olan sonuç kısmında yapılmıştır. CAN CAN ( Controller Area Network ) Protokolü, 1980 lerin ortalarında Alman firması olan Robert Bosch tarafından, otomotiv uygulamalarında güçlü bir seri veri iletiminin oluşturulması amacıyla tasarlanmıştır (Kiencke, 1994). 1993 yılında ISO tarafından uluslararası bir standart olarak kabul edilmiştir. Mercedes, BMW, General Motor gibi firmalar ürettikleri araçlar içerisindeki elektronik sistemlerin haberleşmesinde CAN protokolünü kullanmaktadırlar. Örneğin, ABS ( Antilock Braking System ) fren sistemi, araçların yolda kaymasını engelleyen sistemler gibi kritik zamanlı sistemlerin tek bir merkezden yönetilebilmesini sağlar. Ayrıca, lambalar, kapılar, camlar, sıcaklık bilgileri gibi kritik olmayan bilgilerin de aynı merkezden kontrolüne olanak tanır. Kullandığı BUS yapısı sayesinde kalabalık kablolama yapısını ortadan kaldırır. CAN Protokolü, otomotiv sektöründe olduğu gibi endüstri sektöründe de yaygın olarak kullanılmaktadır. Örneğin, tarımsal makineler, tıbbi makineler ve otomasyon sistemleri içerisinde CAN haberleşme protokolü kullanılmaktadır (Lawrenz, 1995). Tekstil üretim sistemleri, paketleme kontrol sistemleri, robot kontrol sistemleri gibi daha birçok sistem içerisinde CAN protokolü popülaritesini arttırmıştır. İçerisinde CAN modülü bulunan ilk entegre 1989 yılında Intel Corp. tarafından piyasaya çıkarılmıştır. Bu tarihten itibaren, Siemens, Motorola, Philips ve Microchip gibi büyük firmalar CAN entegrelerini üretmeye başlamışlardır. Microchip firması, 2005 yılında toplam 200 milyona yakın CAN modüllü entegre satarak üretici firmalar arasında ikinci sıraya oturmuştur. 8 bitlik yapıda olan PIC 18F458 mikrodenetleyicisi, 32768 KBayt program belleği, 1536 Bayt RAM bellek, 256 Bayt Data EEPROM ve CAN modülüne sahiptir. Programlanabilmesi Paralel programlayıcı, UART seri programlayıcı ve CAN seri programlayıcı kullanarak mümkündür. Bunlardan Paralel ve UART üzerinden programlama uygulamaları gerçekleştirilmiş, ancak CAN üzerinden programlama henüz hayata geçirilmemiştir. Bu çalışma ile amaçlanan PIC 18F458 mikrodenetleyicisinin CAN üzerinden programlanabilmesidir. CAN 2.0A protokolü, uzunluğu 88 ila 108 bit arasında değişen mesajların CSMA/CR (Carrier Sense Multiple Access with Collision Resolution) erişim metoduna uygun olarak iletilmesi prensibine dayanır. er mesajın 11bit uzunluğunda niteliğini ve aynı zamanda sayısal değeri itibariyle önceliğini belirleyen öntakısı (Identifier) vardır. Nitelik ile kastedilen, kullanıcı tarafından mesaja anlamlı bir sayısal değer verilmesidir: sıcaklık bilgisi = 12, ız bilgisi = 13 gibi. 11 bit ile 2 11 değişik nitelik ve öncelik tanımlaması yapılabilmektedir. CAN 2.0B sürümü için bu değer 2 29 dur. Sayısal olarak diğerlerinden düşük değeri olan mesajın yüksek önceliği vardır. İki mesajın aynı anda farklı kaynaklardan iletilmeye çalışılması durumunda önceliği yüksek olan mesaj ortama erişme hakkına sahiptir. CAN protokolü ile ilgili detaylı bilgiler (Intel, 1993; Philips, 1991) referanslarda bulunabilir. ISP Donanım ve Yazılım Mimarisi İçerisinde CAN modülü bulunan bir mikrodenetleyicinin CAN protokolü kullanılarak programlanması için iki temel noktanın oluşturulması gerekir. Bunlar, bilgisayar ile mikrodenetleyiciyi birbirlerine bağlayacak olan elektronik devre yapısı:donanım ve bu yapı içerisinde çalışacak olan Yazılımdır. PIC 18F458 Mikrodenetleyici Tasarlanan CAN Modül Programlayıcı PC PCICAN-D Card CANRX CAN CAN Bus - UTP kablo Programlanacak olan Bellek Alanı Bellek Programlayıcı CANTX MCP2551 Transceiver CANL Şekil 1. Donanım Altyapısı 150

Mikrodenetleyiciler İçin Kontrol Alan Ağı Üzerinden Sistem İçi Programlayıcı Tasarımı Şekil 1 de görüldüğü üzere sistemin elektronik devre yapısı: Bilgisayar, bilgisayarın PCI ( Peripheral Component Interconnect ) slotuna takılı olan bir CAN kartı, CAN Kablosu, MCP2551 CAN Transceiver ( Alıcı Verici ) ve PIC 18F458 mikrodenetleyiciden oluşmaktadır. Donanım, bilgisayara takılı olan CAN kartının ürettiği CAN mesajlarını, UTP (Unshielded Twisted Pair) tipi bir kablo üzerinden mikrodenetleyicinin CAN girişlerine aktarabilmesi için gerekli tüm bağlantıları içerir. CAN kablosu üzerinden gelen sinyallerin, mikrodenetleyicinin anlayabileceği lojik seviyeye çevrilmesi amacıyla CAN Kablosu ve mikrodenetleyici arasında bir alıcı-verici entegre devre (MCP2551) kullanılması zorunludur. azırlanan donanımın, mikrodenetleyicinin programlanmasında kullanılabilmesi için de iki adet yazılım hazırlanmıştır. Bu yazılımlardan bir tanesi bilgisayar üzerinde diğeri ise mikrodenetleyici üzerinde çalışmaktadır. Bilgisayar üzerinde çalışan ve CAN Modül programlayıcısı ismi verilen yazılımın amacı, edef mikrodenetleyiciye gönderilecek EX dosyasını transfer işlemi için hazırlayıp bilgisayarın CAN kartı üzerinden CAN mesajları halinde mikrodenetleyiciye göndermektir. Şekil 2. de yazılımın ara yüzü verilmiştir. CAN Modül programlayıcısı, hedef mikrodenetleyiciye transfer edilecek ex dosya içerisindeki veri alanlarını bayt bayt okur. Okunan bu veriler text dosya içerisine aktarılır. Daha sonra, oluşan text dosya içerisindeki her 1 baytlık veri, CAN mesajı haline getirilerek mikrodenetleyiciye gönderilir. Dosya dönüşüm ve akış şeması şekil 3 de verilmiştir Şekil 2. Kullanıcı Ara yüzü Mikrodenetleyici üzerinde çalışacak olan program ise, CAN Modül programlayıcı yazılımı tarafından gönderilen mesajları alarak mikrodenetleyicinin ilgili bellek alanlarının programlanabilmesi amacıyla tasarlanmıştır. Bellek programlayıcı olarak adlandırılan bu yazılım, öncelikli olarak paralel programlayıcı tarafından mikrodenetleyici içerisine yüklenmiştir. Yazılım, gelen mesajların veri alanı içerisinde bulunan 1 baytlık verileri alarak bir dizi içerisine aktarmaktadır. er alınan 64 mesajdan sonra dizi içerisinde toplanmış olan veriler ilgili bellek alanı içerisine kaydedilmektedir. 64 bayttan sonra kayıt yapılmasının sebebi, kullanılan mikrodenetleyicinin yapısıyla ilgilidir. Çizelge1. Gelen Mesaj ID Tanımlamaları Gelen Mesaj ID Anlamı Yön 01 02 Mesaj transfer edilecek veri içeriyor. Transfer edilen programı çalıştır. PC den Denetleyiciye PC den Denetleyiciye Bellek programlayıcı yazılımı, PC üzerinde çalışan ve CAN Bus programlayıcısı yazılımı tarafından üretilen mesajları, ID lerine göre yorumlayarak işlem yapan bir yapıya sahiptir. Şekil 4. de bellek programlayıcı yazılımının kod alanındaki yeri gösterilmiştir. 151

A. KUTLU, İ. ÜNAL Transfer Edilecek Veri :1000000004EF00F0FFFFFFFF956AFF0E836E1A0EEC Örnek.ex 4, 239, 0, 240, 255, 255, 255, 255, 149, 106, 255, 14, 131, 110, 26, 14 Öntakı (ID) Şekil 3. Dosya Transfer İşlemleri Örnek.txt Uzunluk Text Dosyadan alınan 1 baytlık veri 00000000001 0001 04 CAN Mesaj Formatı Başla İ=0, Dizi()=0 X=True Adres = $D000 X = True? Bitir Delay (1000) Mesaj Oku(ID,DATA) ID = 1? ID = 2? Bellek Programlayıcı yazılımı, kod belleğin 0000h adresinden itibaren yüklenir. Mikrodenetleyici içerisine yüklenmiş olan program, PC tarafından gönderilen CAN mesajlarının öntakı (ID) bilgisine göre hareket eder. Çizelge 1 de gelen mesajın ID sine göre niteliği yani ne anlama geldiği belirtilmektedir. Dizi() = Data i= i + 1 I = 64? X = False CAN Bus üzerinden okunan ve mesaj ID si 01 olan her mesaj bellek programlayıcı programı tarafından programlanacak veri olarak algılanır. er gelen mesaj içerisinde 1 baytlık data bulunur. Gelen bu mesajlar içerisindeki her 1 baytlık veri, program tarafından bir dizi içerisine yüklenir. Flash_write(Adr,Dizi) Adres = Adres + 64 i = 0 Bellek Programlayıcı Yüklenecek olan Program kodlarının yeri 0000h 7FFFh Şekil 5. Bellek Programlayıcı yazılımı algoritması er 64 baytta bir, dizi içerisine yüklenen veriler, kod bellek içerisinde belirlenen bir bellek adresinden itibaren kaydedilir. Programlama işlemi bittikten sonra CAN bus üzerinden gelen ve ID si 02 olan mesaj ile hedef mikrodenetleyiciye transfer edilen kullanıcı programı çalıştırılır. Şekil 4. Bellek Programlayıcı nın Yeri Bellek programlayıcı yazılımı, Mikroelektronika firmasının ürünü olan MikroBasic Programı kullanılarak yazılmıştır. MikroBasic Programı PIC tipi mikrodenetleyiciler için kullanıcı uygulama programları geliştirmek için kullanılmaktadır. Şekil 5 te bellek programlayıcı yazılımının akış şeması verilmiştir. 152 Sonuç Bu çalışma ile CAN seri haberleşme protokolü kullanılarak içerisinde CAN modülü bulunan PIC tabanlı mikrodenetleyicilerin programlanması gerçekleştirilmiştir. Programlama için PC üzerinde bir PCI CAN kartı kullanılmış ve bu kartı kontrol edebilecek bir yazılım geliştirilmiştir. Programlama işlemi için ayrıca mikrodenetleyici üzerinde çalışacak bir yazılım tasarlanmış; her iki program etkileşimli olarak birbirleri ile haberleşerek hedef mikrodenetleyicinin program-

Mikrodenetleyiciler İçin Kontrol Alan Ağı Üzerinden Sistem İçi Programlayıcı Tasarımı lanması gerçekleştirilmiştir. Bu sistem sayesinde endüstriyel otomasyon işlerinde kullanılan PIC mikrodenetleyicilerin bulundukları yerlerde sistemden sökülmeden programlanabilmesi sağlanmıştır. Teşekkür Bu çalışma Süleyman Demirel Üniversitesi Bilimsel Araştırma Projeleri Birimi tarafından 01007-YL 05 proje numarası ile finansal destek sağlanarak gerçekleştirilmiştir. Kaynaklar Atmel, 2002a. Enhanced 8 bit MCU with CAN Controller and Flash Memory-T89c51cc01 Datasheet, 46-49 Intel, 1993. Intel 82527 Serial Communications Controller Architectural Overview Kiencke, U. 1994. Controller Area Network-from concept to reality. ICC 94, proc.1. International CAN conference, 0-11 0-19. Lawrenz, W. 1995. World-wide Status of CAN- Present and Future. proc. ICC 95 2. International CAN conference, 0-12 0-25. Microchip, 2006. PIC 18F480 Datasheet, 360 p. Philips, 1991. CAN Specification, amburg. Atmel, 2002b. T89c51cc01 UART bootloader Datasheet, Gilmour, P. S. 1991. ow to Select Tools for Microcontroller Software. IEEE Spectrum, issue. 28, No: 2, 37-39 153