Програма керування енергонезалежної памяті AT24C32
Зміст Вступ 1. Мета проекту 2. Опис запропонованого технічного рішення 3. Опис та часові діаграми команд мікросхеми AT24C32 4. Опис та блок-схеми програми та підпрограм, що обслуговує пристрій 5. Вибір середовища програмування та розробка програми Висновок Список джерел інформації Додаток А Текст програми Додаток Б Таблиця приєднання мікросхеми AT24C32 до порту LPT порту
Вступ Шина I2 C широко використається в побутовій електроніці, передачі даних і промисловій електроніці. Розроблена фірмою Phіlіps проста двохнаправлена 2-провідна шина для ефективного керування та взаємодії різних блоків телевізорів, вона стала використовуватись для зв'язку між собою однокристальних мікроконтролерів, РКИ-індикаторів, портів вводу-виводу, мікросхем пам'яті (особливо энергонезалежної), аналого-цифрових і цифро-аналогових перетворюювачах ланцюгах цифрового настроювання, DTMF кодеров і декодерів, годинників реального часу й т.д. У цей час, асортименти мікросхем із шиною I2 C тільки однієї фірми Phіlіps становить більше чим 150 КМОП і біполярних приборів, а в області енергонезалежної пам'яті середньої ємності (від сотень байт до десятків кілобайт) вона стала стандартом де-факто (серії 24XXX фірм Mіcrochіp, Atmel, і ін.) Шина I2 C являє собою концепцію, що вирішує багато проблем інтерфейсу, з якими зіштовхуються при проектуванні різних апаратів, і має наступні плюси: - Тільки дві лінії - послідовна лінія даних (SDA) і послідовна лінія синхронізації (SCL) - Кожний елемент, з'єднаний із шиною є програмно-адресуемим своєю унікальною адресою. При цьому відносини між ними можуть бути побудовані на простому принципі master/slave або ж може бути побудована multі-master система. - Це дійсна шина, з можливістю роботи в multі-master середовищу, включаючи перевірку на перетинання й арбітраж. - Послідовна, 8-розрядна двунаправленная передача даних може проводитися зі швидкістю від 0 до 100 kbіt/s у стандартному режимі або до 400 kbіt/s у швидкісному режимі (не для всіх типів мікросхем). При реалізації власних пристроїв можливі застосування й більше високих швидкостей при збереженні ідеології шини I2 C. - Фільтрація сигналів усередині мікросхем забезпечує нечутливість до викидів на лінії шини даних. - Число пристроїв, які можуть бути з'єднані однією шиною, обмежено тільки максимальною ємністю шини 400 pF. 1. Мета проекту Ознайомитися з принципами роботи наступних команд мікросхеми AT24C32 : читання, запису даних. Розробити програму, яка забезпечить можливість демонстрації цих команд. 2. Опис запропонованого технічного рішення Структурна схема системи наведена у Додатку А. Для роботи з мікросхемою AT24C32 ми використовуємо LPT порт ( за базовою адресою 378Н). Вихід мікросхеми SСL ми подаємо на регістр даних (DR за адресою 378H) до розряду DR0, вихід мікросхеми SDА ми подаємо на регістр даних до розряду CR0. Три (DR3, DR4, DR5) розряди регістру даних ми використовуємо для подачі живлення на мікросхему. Таблиця приєднання мікросхеми AT24C32 до порту LPT порту наведена у Додатку Б. 3. Опис та часові діаграми команд мікросхеми 24 LC 08В Команда читання (RANDOM_READ) – це команда читання даних, що дозволяє читати дані випадковим способом з будь-якої ділянки пам’яті. Для організації цієї команди необхідно за допомогою надіслання певної комбінації кодів( так, як показано на рисунку 3.1 ) задати адресу та блок пам’яті звідки ми збираємося читати дані. Рисунок 3.1 Часова діаграма команди читання
Команда читання (CURRENT_ADDRESS_READ) – це команда читання даних, що дозволяє читати дані з адреси останнього слова доступу збільшеного на 1. Для організації цієї команди необхідно за допомогою надіслання певної комбінації кодів( так, як показано на рисунку 3.1 ) задати адресу та блок пам’яті звідки ми збираємося читати дані. Рисунок 3.2 Часова діаграма команди читання Команда запису (BYTE_WRITE) – це команда запису байту. Вона виконується за допомогою надіслання такої комбінації кодів яка показана на рисунку 3.2. Для ії організації треба задати адрес та блок пам'яті, куди буде записуватись байт. Після того, як байт запишеться необхідно подати сигнал стоп, а потім подавати сигнал старт та керуючий байт до того, доки байт не запишется. Рисунок 3.3 Часова діаграма команди запису 4. Опис та блок-схеми програми та підпрограм, що обслуговує пристрій Список констант: DATA 0х378 – адреса регістру даних STATUS 0х379 – адреса регістру стану CONTROL 0х37А – адреса регістру керування Список функцій: high_SDA() Встановлює 1 на лінії SDA low_SDA() Встановлює 0 на лінії SDA high_SCL() Встановлює 1 на лінії SDL low_SCL() Встановлює 0 на лінії SDL nack() Повертає зачення сигналу ACK Start() Надсилає команду START Stop() Надсилає команду STOP out_byte(byte o_byte) Надсилає байт in_byte() Зчитує байт write_byte(int device, int address, byte data) Записує вказаний байт за вказаною адресою read_random_data(int device, int address) Зчитує байт за випадковою адресою(в межах 4кб) read_cur_adr() Зчитує байт за поточною адресою write_to_file(int adr) Зчитує байт до файлу void test(void) Виконує перевірку роботоздатності
Рисунок 1 Блок-схема підпрограми виконання команди WRITE_BYTE
Рисунок 2 Блок-схема підпрограми виконання команди RANDOM_READ
Рисунок 3 Блок-схема підпрограми виконання команди CUR_ADR_READ 5. Вибір середовища програмування та розробка програми Для реалізації підпрограм та програми ми вибрали Borland C++, оскільки на мові C++ найпростіше напряму працювати з портами LPT порту. За алгоритмами, які наведені у попередньому пункту ми розробили діалогову програму, яка забезпечила можливість демонстрації команд читання та запису.
Висновок В результаті виконання даного курсового проекту ми знайомилися з принципами роботи наступних команд мікросхеми AT24C32 : читання, запису даних. Розробили програму, яка забезпечила можливість демонстрації цих команд.
Список джерел інформації 1. Шилдт Г. Теория и практика С++. – СПб.: БХВ-Петербург, 1999. – 416с. 2. Шилдт Г. Самоучитель С++ . – СПб.: БХВ-Петербург, 2001. – 688с. 3. Microchip AT24C32. – USA: Microchip Technology Incorporated, 2008. 4. Шина I2C – Харьков Александр Торрес 1997
Курсовые работы по информатикеЗміст Вступ 1. Мета проекту 2. Опис запропонованого технічного рішення 3. Опис та часові діаграми команд мікросхеми AT24C32 4. Опис та блок-схеми
Оценок: 313 (Средняя 5 из 5)
Специалисты RetsCorp работают в digital-сфере более 7 лет. За это время мы разработали более 500+ успешных проектов. Основываясь на своем опыте и знании рынка, мы с уверенностью можем сказать, что будет работать, а что — нет. Заказывая создание лендинга для бизнеса в нашей студии, вы получаете работающие решения, необходимые именно вашему бизнесу.
Сотрудничая с нами, вы будете не клиентом, а нашим партнером. Благодаря этому мы будем развивать ваш бизнес как собственный. Мы так же как и вы заинтересованы в успехе проекта, поскольку ваша успешность будет нашей рекламой.