6th International Advanced Technologies Symposium (IATS’11), 16-18 May 2011, Elazığ, Turkey PSoC 1 ile Elektronik Uygulamaları için Deney Seti Tasarımı ve Gerçekleştirilmesi K. Cüneray1, M.R. Canal2 and N. Topaloğlu3 1 University of Gazi, Ankara/Turkey, [email protected] 2 University of Gazi, Ankara/Turkey, [email protected] 3 University of Gazi, Ankara/Turkey, [email protected] Design and Implementation of Experiment Kit for Electronics Applications with PSoC 1 Abstract—PSoC, which is produced by Cypress Microsystems, is a product which is developed for embedded system designs, aiming microcontroller applications. Control functions are analog and digital PSoC blocks which are easily identifiable by the user. Due to the flexibility of PSoC architecture and easy availability of the design environment, academic and industrial applications carried out with PSoC are becoming rapidly become widespread. Implemented PSoC 1 Experiment Kit is a useful reference to the new and professional users of PSoC. PSoC 1 Experiment Kit provides many advantages for users. PSoC 1 Experiment Kit contains Led, LCD, PWM, Keypad, Filter applications and a Board for the free-working area. Users can be test special experiments on the board. Experiment Kit is very useful because of the free-working area. Keywords—PSoC, Experiment Kit, Embedded systems, SoC (System-on-chip) I. GİRİŞ Mikrodenetleyiciler elektronik sistemlerde yaygın olarak kullanılmaktadırlar. Küçük yapıda olmaları ve birçok elektronik elemanın yaptığı işi tek başına yapabilmesi nedeniyle çok fazla talep görmektedirler. Teknolojinin sürekli gelişmesine paralel olarak mikrodenetleyiciler de büyük gelişmeler göstermektedir. Gelişen teknolojinin yeni ürünü olan PSoC (Programmable System-On-Chip) kullanımı kolay olması ve esnek tasarım imkanı sağlamaktadır. PSoC‟u diğer mikrodenetleyicilerden ayıran bu üstünlüklerinden dolayı hem akademik hem de endüstriyel alanda kullanımı hızlı bir şekilde yaygınlaşmaktır. PSoC, Cypress firmasının 2005 yılında 8 bit mikrodenetleyici uygulamalarına yönelik olarak ürettiği üründür. Çip üzerine programlanabilen sistem olarak bilinen PSoC, bilinen mikrodenetleyicilerin aksine CPU (Central Processing Unit, Merkezi İşlem Birimi) temel bloğu ile birlikte fonksiyonu kullanıcı tarafından kolayca tanımlanabilen analog ve dijital kullanıcı blokları sunar. Gömülü sistem yapısına uygun olan PSoC, kullanıcının kendi mikrodenetleyicisini oluşturmasına uygundur. Değiştirilebilir çalışma gerilimi ve 1V gibi küçük gerilimde çalışma özelliğine sahiptir. Ayrıca PSoC farklı osilatör frekanslarında çalışabilmektedir. Maliyet, hız, esneklik, güç tüketimi, kullanım kolaylığı, kullanım alanı ve güvenilirlik bakımından oldukça uygundur [1]. Cypress firması PSoC‟u geliştirmeye hızla devam etmekte ve daha kolay, daha fonksiyonlu mikrodenetleyici çalışmalarında büyük bir yol almıştır. 2005 yılında 8 bit M8C CPU, 32 KB Flash program hafızası, 2 KB SRAM, 3 V-5.5 V İşlemci voltajı özellikleriyle üretilirken 2010 yılında 32 bit ARM Cortex-CPU, 256 KB Flash program hafızası ve 64 KB SRAM, 0.5 V-5.5 V İşlemci voltajı özellikleriyle üretilmektedir. [2] Dünyada PSoC ile yapılan deney seti örnekleri olmasına karşın ülkemizde ilk defa PSoC ile böyle bir uygulama yapılmıştır. Bu uygulama PSoC ve High-Tech C yazılımı hakkında temel bilgilerin kolayca öğrenilmesini ve PSoC kullanılarak özgür projeler gerçekleştirilmesine ve gerçekleştirilen projelerin geliştirilmesine yardımcı olmaktadır. Bu çalışmada PSoC Mikrodenetleyicisinin temel yapısı ve özellikleri 2. Bölümde sunulmuştur. 3. Bölümde ise PSoC 1 ile gerçekleştirilen deney seti ile yapılan uygulamalara yer verilmiştir. Çalışmanın sonunda elde edilen çıktılar sonuç bölümünde yer almaktadır. II. PSOC MİKRODENETLEYİCİSİ PSoC ailesi birçok On-Chip Controller’li Mixed-Signal Array özelliğini taşıyan cihazlardan oluşur. Dijital-Analog blokları, kolay kullanımı ve esnek tasarım imkânı PSoC‟un en güçlü özelliklerinin başında gelmektedir. Bu özellikler nedeniyle PSoC başta PIC olmak üzere diğer mikrodenetleyicilere karşı birçok üstünlüğü bulunmaktadır. Bu cihaz bünyesinde, ayarlanabilir analog ve dijital devre kullanıcıya istediği şekilde ayarlanabileceği konfigürasyonlar sunar ve böylece birçok uygulamasının gereksinimlerini karşılar. Bu özelliklere ek olarak, hızlı bir CPU, Flash program hafızası, SRAM data hafızası ve uygun pin çıkışları aralığında ayarlanabilir I/O mevcuttur [2]. PSoC mikrodenetleyici de diğer mikrodenetleyiciler gibi kendisine ait olan farklılıklardan dolayı birçok mikrodenetleyici ailesine sahiptir. A. PSoC TEMEL YAPISI PSoC 8 bit mikrodenetleyicisi CISC mimarisine dayanmaktadır. PSoC mikrodenetleyicisi temel olarak CPU, Frekans Jeneratörü, Reset Kontrolleri, WatchDog Timer, 305 K.Cüneray, M.R. Canal, N.Topalaoğlu Sleep Timer, Input-Output pinleri, Dijital programlanabilir Bloklar, Analog Programlanabilir Bloklar, I2C Kontrolleri, Voltaj Referansı, MAC Birimi ve SMP‟den oluşur. Aşağıdaki şekilde PSoC Mikrodenetleyicisinin temel blok yapısı gösterilmektedir.[1] Şekil 3. Analog Bloklar B. Portların Giriş-Çıkış(I/O) Pin Konfigürasyonu PSoC‟da pinler PSOC Designer Programı ile belirtilmektedir. Aşağıdaki şekilde de gözüktüğü üzere 5 adet Pin Çeşidi bulunmaktadır. Şekil 1. PSoC Temel Blok Yapısı Şekil 1‟de göründüğü üzere PSoC mikrodenetleyici içerisinde Dijital ve Analog olmak üzere iki çeşit bloklar bulunmakta ve bu bloklar sayesinde hem dijital hem de analog işlemler yapılabilmektedir. Şekil 4. Pin Konfigürasyonu 1. Dijital Bloklar Dijital yapılandırmalar için kullanılan bloklardır. Bu bloklar PWM, LCD, LED, Dijital Alıcı-Verici (UART, I2C, RX-TX, SPI , CRC ve RF), ADC, Timer ve Counter işlemlerinin yapılandırılmasında kullanılır [3]. Analog blokların kullanımı için Analog Input, Dijital blokların kullanımı için Default, StdCPU, GlobalInEven ve GlobalOutEven seçenekleri kullanılmaktadır [5]. C. Sürücü(Driver) Modları Giriş - Çıkış pinlerinin görevlerine göre ayrılırlar. Giriş Çıkış pinlerinin hangi amaçla kullanılacağının yazılımla ayarlanmasını sağlar. Sürücü pin modları 8 çeşittirler. Tablo 1. Sürücü Modları Şekil 2. Dijital Bloklar 2. Analog Bloklar Analog yapılandırmalar için kullanılan bloklardır. DAC, DTMF alıcıları, Filtreler, Programlanabilir enstrümantal Eviren ve Evirmeyen yükselteçlerin yapılandırılmasında kullanılır [4]. 306 DM2 Bit DM1 Bit DM 0 Bit 0 0 0 0 0 0 1 1 0 Resistive Pull Down Strong Drive High Impedance 0 1 1 Resistive Pull Up 1 0 0 1 0 1 1 1 0 1 1 1 Mode Open Drain,Drives High Slow Strong Mode High Impedance Analog Open Drain, Drives Low Data=0 Data=1 Resistive Strong Strong Strong Hi-Z Hi-Z Strong Resistive Hi-Z Strong(Slo w) Strong(Slow) Strong(Slo w) Hi-Z Hi-Z Strong(Slow) Hi-Z PSoC 1 ile Elektronik Uygulamaları için Deney Seti Tasarımı ve Gerçekleştirilmesi Tablo 1‟de görüldüğü üzere çıkışlarda ayarlanabilen, 3. Hassas Programlanabilir Saat PSoC, saat özellikleri bakımından incelenmiştir. Elde edilen veriler Tablo 4‟e kaydedilmiş ve bu verilerin daha iyi anlaşılabilmesi için PIC ile karşılaştırma yapılmıştır. High Z, High Z Analog, Strong, Pull Down, Pull Up, Open Drain High, Open Drain Low ve Strong Slow modlarıdır [5]. D. PSOC’UN Programlanması PSoC, diğer mikrodenetleyiciler gibi paralel ve seri (ISSP) olarak programlanabilmektedir. Genel olarak kullanımı kolay ve hızlı olduğundan dolayı seri programlama (ISSP) kullanılmaktadır. PSoC‟ un programlamak için gerekli yazılım PSOC DESIGNER programı kullanılarak yazılmakta(Yazılım dili olarak High-Tech C ve Assembly dillerini kullanmaktadır) ve PSOC PROGRAMMER programıyla yazılımlar PSoC‟a yüklenmektedir. E. PSoC Mikrodenetleyici Özellikleri PSoC mikrodenetleyicinin, diğer mikrodenetleyicilere kıyasla üstün bir yapıya sahip özellikleri bulunmaktadır. PSoC mikrodenetleyicisinin özellikleri genel olarak 6 bölümden oluşmaktadır. Bunlar; Tablo 4. Saat Özellikleri Özellik PSoC CY8C29466 Dahili Osilatör 24/48 Mhz Osilatör Yok Max. 24 Mhz Osilatör Max. 24 Mhz Osilatör 15-18 Pinlerde kullanılabilir. Harici Osilatör Watchdog Timer Sleep Timer Tablo 5. Sistem-İçi Hafıza Özellikleri Özellik PSoC CY8C29466 PIC 16F877 Program Belleği 32 Kbyte Flash Program Belleği 50,000 Silme/Yazma Döngüsü 256 Byte SRAM Data Belleği Sistem-İçi Seri ve Paralel Programlama 8 Kbyte Flash Program Belleği 10,000 Silme/Yazma Döngüsü Silme/Yazma Döngüsü Tablo 2. İşlemci Özellikleri PSoC CY8C29466 İşlemci CISC (8x8 bit çarpma 32 bit toplama) Hızı 24 Mhz 20 Mhz Çalışma Voltajı 3.0 V , 5.0 V Sistem-İçi SMP Kullanarak 1.0 V Çalışma Voltajı 5.0 V SMP Yok Güç Tüketimi Yüksek Hız, Düşük Güç Düşük Güç Sıcaklık Endüstriyel Sıcaklık Aralığı : -40° - +85° Endüstriyel Sıcaklık Aralığı : -40° - +85° PIC 16F877 Data Belleği RISC Programlama 2. Gelişmiş Yan Birimler (PSoC Blokları) PSoC, yan birim özellikleri bakımından incelenmiştir. Elde edilen veriler Tablo 3‟e kaydedilmiş ve bu verilerin daha iyi anlaşılabilmesi için PIC ile karşılaştırma yapılmıştır. PSoC CY8C29466 PIC 16F877 Dijital Blok 8 Adet Dijital Blok 4 Adet Dijital Blok Analog Blok 12 Adet Analog Blok Yok ADC 14-bit Çözünürlük 10-bit DAC 9-bit Çözünürlük Yok Yükselteç Programlanabilir Kazanç Yükselteçleri Yok Filtre Programlanabilir Filtre Timer PWM Koruma Esnek Koruma Modları EEPROM Flash Üzerinde EEPROM Emülasyon (32 Kbyte) 368 Byte RAM Sistem-İçi Seri ve Paralel Programlama Esnek Koruma Modları 256 bit EEPROM 5. Programlanabilir Pin Konfigürasyonlar PSoC, Pin konfigürasyon özellikleri bakımından incelenmiştir. Elde edilen veriler Tablo 6‟ya kaydedilmiş ve bu verilerin daha iyi anlaşılabilmesi için PIC ile karşılaştırma yapılmıştır. Tablo 3. Yan Birim Özellikleri Özellik Yok 4. Esnek Sistem-İçi Hafıza PSoC, sistem-içi hafıza özellikleri bakımından incelenmiştir. Elde edilen veriler Tablo 5‟e kaydedilmiş ve bu verilerin daha iyi anlaşılabilmesi için PIC ile karşılaştırma yapılmıştır. 1. Güçlü Harward Mimarisine Sahip İşlemciler PSoC, işlemci özellikleri bakımından incelenmiştir. Elde edilen veriler Tablo 2‟ye kaydedilmiş ve bu verilerin daha iyi anlaşılabilmesi için PIC ile karşılaştırma yapılmıştır. Özellik Bütün pinlerde kullanılabilir Bütün pinlerde kullanılabilir PIC 16F877 Tablo 6. Pin Konfigürasyon Özellikleri Özellik PSoC CY8C29466 PIC 16F877 GPIO Genel amaçlı 25 mA‟e kadar sürebilme Genel amaçlı 25 mA‟e kadar sürebilme Sürücü Modları Bütün Pinlerin Pull-Up, Pull- Down, High Z, Strong ya da Open Drain olarak ayarlanabilmesi Yok Analog Giriş Max. 12 Adet Analog Giriş Yok Yok Analog Çıkış 4 Adet 40 mA Analog Çıkış Yok 8-32 bit Timer 8 – 16 bit Timer İnterrupt GPIO (Bütün Pinlerde) Belirli pinlerde 32 bit PWM 10 bit PWM UART 2 Adet Full-Duplex UART 1 adet Half-Duplex UART DTMF 1 Adet DTMF Yok Modüller CRC ve PRS Modüller Yok 307 K.Cüneray, M.R. Canal, N.Topalaoğlu 6. Ek Sistem Kaynakları PSoC, ek sistem kaynakları bakımından incelenmiştir. Elde edilen veriler Tablo 7‟e kaydedilmiş ve bu verilerin daha iyi anlaşılabilmesi için PIC ile karşılaştırma yapılmıştır. Tablo 7. Ek Sistem Kaynak Özellikleri Özellik PSoC CY8C29466 I2C Slave, Master ve Multi-Master Max. 400Khz I2 C PIC 16F877 I2C Slave ve Master Slave Düşük Voltaj Ayarlanabilir Küçük Voltaj Algılama (1 V) Entegre Mikrodenetleyici Entegre Mikrodenetleyici Devre Yok Referans Voltajı 1.3 V Sistem-içi Referans Voltajı Yok Yok Bu özelliklere ek olarak PSoC‟un başta PIC olmak üzere diğer mikrodenetleyicilerden önemi konulardaki üstünlükleri şöyledir ; İç yapısı analog olmasından dolayı analog sinyali analog olarak işleyebilme özelliği bulunmaktadır. Programlanabilir filtreler ve Programlanabilir Kazançlı Amplifikatörler içermektedir. 9 bitlik DAC içermektedir. PSoC‟un bir Mikro-Kontrol olduğu gibi birde programlanabilir voltaj özelliği vardır. Donanım akümülatörü çarpma özelliği ile 8 bit mikrokontrollerden ayıran en önemli özelliktir. Değişken bir gerilime sahip olması en büyük avantajlarındandır. Düşük gerilim kaynağı 1 V seçme gibi bir özelliği diğer sistemlerde çalışması için çok avantajlıdır. Sayaçlar ve PWM birimleri genel uygulamada daha esnektir. Otomatik kod ile tüm çevre birimlerine erişmektedir. 8 bitlik bir Psoc ile 8, 16, 32 bitlik bir PWM ve Sayaç oluşturulabilir. DTMF alıcısı bulunmaktadır. Pinler çip içerisinde bağlantı yapabilmektedir. Bütün portlar Pull-up, Pull-down, Open Drain yapılabilir [6]. III. PSOC 1 DENEY SETİ Deney seti Gazi Üniversitesi TEF, Elektronik – Bilgisayar Eğitimi bölümünde tasarlanmış ve gerçekleştirilmiştir. PSoC 1 Deney Seti, öğrencilerin High-Tech C programlama dili hakkındaki bilgilerinin uygulamalar yapılarak güçlendirmek ve PSoC hakkındaki temel bilgilerinin uygulamalar yapılarak geliştirilmesine yardımcı olmayı amaçlamaktadır. Deney setimize en uygun PSoC 1 ürünü olan CY8C29466-24 SXI entegresi seçilmiştir. Tasarlanan deney setinde kullanılan CY8C29466-24SXI entegresinin özellikleri; Maksimum 24 Mhz İşlemci Frekansı 32 KByte Flash 2 KByte SRAM 16 adet programlanabilir Dijital Bloklar 12 adet programlanabilir Analog Bloklar 32 Bit PWM, Counters ve Timers 14 Bit ADC 9 Bit DAC Minimum İşlemci Voltajı 3.0 V‟ tur [7]. Şekil 5. Deney Seti Deney setinde bütün uygulamalar Hi-Tech C programlama dili ile yapılmıştır. Deney setinde Dijital ve Analog uygulamalar aynı anda yapılabilmektedir. Dijital Uygulamalar; Led, LCD, Tuş Takımı ve PWM uygulamalarıdır. Dijital uygulamalar PSoC‟un içindeki dijital bloklar kullanılarak yapılmaktadır. Analog Uygulamalar; Filtre Uygulamalarıdır. Analog uygulamalar PSoC‟un içindeki analog bloklar kullanılarak yapılmaktadır. Bunların yanında PSoC 1 Deney Seti üzerine 1 adet Board bulunmakta ve Deney Seti üzerindeki entegrenin bütün pinlerine ulaşılmasına imkân vermektedir. Deney seti üzerindeki board sayesinde Deney Seti üzerine yeni sistemlerin kurulmasına ve bunların uygulamalarının yapılmasına imkân sağlamayarak deney ortamı sayesinde projelerin geliştirilmesine yardımcı olmaktadır. Bu özellikleri bakımından deney seti sürekli geliştirilebilme özelliğine sahip olmaktadır. Bu sayede Hem yeni hem de profesyonel PSoC kullanıcılarına hitap etmektedir. A. PSoC 1 Deney Seti Özellikleri PSoC 1 ile elektronik uygulamalar için gerçekleştirilen deney setinin başlıca özelliklerini şu şekilde sıralayabiliriz ; PSoC MiniProg ile 28 pinli soic kılıf entegrenin programlanması 308 PSoC 1 ile Elektronik Uygulamaları için Deney Seti Tasarımı ve Gerçekleştirilmesi 12 V pil girişi delay(); } Entegre Portlarına Direk Ulaşım Entegreye doğrudan bağlı 2x16 LCD 2. PWM Uygulaması #include <m8c.h>// part specific constants and macros #include "PSoCAPI.h" #include "PWM8_1.h" void main() { PWM8_1_WritePeriod(200); PWM8_1_WritePulseWidth(150); PWM8_1_DisableInt(); PWM8_1_Start(); } 4 Adet Led ile Led uygulamaları 3x4 Tuş Takımı uygulamaları 1 Adet DC motor İle PWM uygulamaları 1 Adet Filtre uygulaması (Dar Bant Geçiren) Board Üzerinde İstenilen uygulamanın yapılabilmesi 3. Filtre Uygulaması Şekil 7‟de filtre parametrelerinin, hesaplanan değerlerin ve cevap tepkisinin grafiğini içeren filtre tasarım sihirbazı verilmektedir. Şekil 6. Deney setinde kullanılan entegrenin Pinout Görüntüsü B. PSoC 1 Deney Seti Uygulama Örnekleri PSoC 1 Mikrodenetleyici kullanılarak gerçekleştirilen Analog ve Sayısal Elektronik Uygulamaları için PSoC 1 Deney Seti‟nin bir kaç örnek uygulaması verilmiştir. Deney Setindeki uygulamaların yazılımları High-Tech C dilinde yazılmıştır. 1. LCD Uygulaması #include <m8c.h> // part specific constants and macros #include "PSoCAPI.h" // PSoC API definitions for all User Modules #include <LCD_1.h> void delay(void){ double j,i; for(j=0;j<=10;j++){ for(i=0;i<=100;i++){ }}} void main() { char Str[] = "PSoC 1"; // Define RAM string int a,b; LCD_1_Start(); // Initialize LCD hardware LCD_1_Position(0,3); // Position cursor @ row 0, col 4 LCD_1_PrCString("Deney Seti"); // Print a constant "ROM" string LCD_1_Position(1,5); LCD_1_PrString(Str); Şekil 7. Filter Design Wizard Filtre tasarımı için ilk olarak kullanılacak filtre çeşidi PSoC Designer programıyla seçilir ve bu filtre çeşidi analog bloklara yerleştirilir. Bloklara yerleştirildikten sonra gerekli pin bağlantıları yapılır ve aktif edilir. Aktif edildikten sonra Şekil 7. „de gösterildiği gibi Filter Design Wizard seçeneği ile gerekli ayarlamalar yapılarak kullanıma hazır hale getirilir. Bu uygulamaların yanında Led ve 3x4 Tuş takımı uygulamalarıyla, özgür proje geliştirme uygulamaları yapılabilmektedir. IV. SONUÇ Bu çalışmada günümüzde kullanımı hızla yaygınlaşan, gömülü sistem tasarımı ve SoC uygulamalarında kolay ve esnek kullanıma sahip PSoC mikrodenetleyicisinin yapısı, çalışması, programlanması ve PSoC Deney Setinin çalışması ve uygulamaları anlatılmaktadır. Ayrıca bu çalışmada PSoC Deney Setinin bu temel bilgilerle pekiştirilmesi ve çalışmaların kolaylaştırılmasının üzerinde durulmaktadır. Gerçekleştirilen Deney seti ile yapılacak uygulamalar sayesinde, herhangi bir PSoC ürününün kullanılması için gerekli temel bilgilerin kazanımı sağlanmaktadır. Her mikrodenetleyicinin birbirine göre avantaj ve dezavantajları bulunmaktadır. Günümüzde en sık kullanılan 309 K.Cüneray, M.R. Canal, N.Topalaoğlu mikrodenetleyicilerin başında gelen PIC‟e göre PSoC birkaç dezavantaja sahiptir. Bu dezavantajlar PSoC‟un fonksiyonlarının kullanılmasındaki kısıtlamalardan kaynaklanmaktadır. PSoC‟un avantajlarıysa oldukça büyüktür. PSoC‟un analog yapıya girişlerinin fazla olması, maliyet düşüklüğü, kolay kullanım, az güç tüketimi, filtre devreleri içermesi ve dokunmatik tuş (capsense) teknolojisi barındırması en önemli avantajlarıdır.. Elektronik Uygulamalar için tasarlanan ve gerçekleştirilen PSoC 1 Deney Setinin üzerinde Led, LCD, 3x4 Tuş Takımı, Filtre ve PWM uygulamaları yer almaktadır. Bunun yanında kullanıcıların Deney Seti içinde yer almayan fakat PSoC ile özgür çalışmalarını kolaylıkla yapılabilmeleri için Board da içermektedir. Ortaya çıkan bu ürün, hem PSoC‟un yeni kullanıcılarının PSoC‟u içinde barındırdığı uygulamaları sayesinde kolaylıkla öğrenebilmelerine hem de profesyonel PSoC kullanıcılarının projelerinin geliştirilmesine olanak sağlamaktadır. Bu özelliklerinden dolayı elektronik uygulamalar için tasarlanan ve gerçekleştirilen PSoC 1 deney seti, gömülü sistem tasarımcıları, SoC tasarımcıları ve PSoC kullanıcıları için çok önemli bir kaynaktır. REFERENCES [1] [2] [3] [4] [5] [6] [7] Robert Ashby, Designer’s Guide to the Cypress PSOC, Elsevier, 2005 (Ekim,2009) Cypress Semiconductor and Microsystems internet adresi, Erişim : http://www.cypress.com Monte Mar, Bert Sullam and Eric Bollom, “ An Architecture for a Configurable Mixed-Signal Device”, IEEE Journal of Solid-State Circuits, Vol. 38, No. 3, March 2003. (Ekim,2009) PSoC Developers internet adresi, Erişim: http://www.psocdeveloper.com PSoC IO Pin-Port Configuration: Application Note AN2094. Mehmet Zeki Sönmez, TURKEY, Ağustos 2003. (Ekim,2009) EasyPsoc internet adresi, Erişim : http://www.easypsoc.com/book/chapter1.html Cypress Microsystem CY8C29466-24SXI Datasheet. 310