Лови Книгу .ру

Огромная коллекция книг в открытом доступе

Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

Рейтинг: Голосов: 0 Просмотров: 551 Добавлена: 25 апреля, 2017 г.
Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

Название книги: Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С

Автор книги: Барретт Стивен Ф

Автор перевода: Т. В. Ремизевич

Жанры: Аппаратное обеспечение, Программирование

Язык: Русский

Язык в оригинале: Английский

Издатель: Издательский дом ДМК-пресс

Город издания: Москва

Год издания: 2007

ISBN: 5-9706-0034-2

Количество страниц: 650

Поделиться:

Читать книгу онлайн Скачать данную книгу

Аннотация

В книге последовательно рассматриваются все этапы создания встраиваемых систем на микроконтроллерах с применением современных технологий проектирования. Задумав эту книгу, авторы поставили перед собой задачу научить читателя искусству создания реальных устройств управления на однокристальных микроконтроллерах. 

    Издание содержит материал, охватывающий все вопросы проектирования, включает множество заданий для самостоятельной работы, примеры программирования, примеры аппаратных решений и эксперименты по исследованию работы различных подсистем микроконтроллеров. 

    Данная книга является прекрасным учебным пособием для студентов старших курсов технических университетов, которые предполагают связать свою профессиональную деятельность с проектированием и внедрением встраиваемых микропроцессорных систем. Книга также будет полезна разработчикам радиоэлектронной аппаратуры на микроконтроллерах. 

   
Год издания: 2007
Формат: fb2
Язык: ru
Размер: 5902 Kb
Скачиваний: 12217

Содержание

  1. ПРЕДИСЛОВИЕ
  2. Структура книги
  3. Учебные системы
  4. Целевая аудитория
  5. Благодарности
  6. Глава 1 ПЕРВОЕ ЗНАКОМСТВО СО ВСТРАИВАЕМЫМИ СИСТЕМАМИ
  7. 1.1. Что такое встраиваемая система?
  8. 1.2. Особенности встраиваемых систем
  9. 1.2.1. Работа в реальном времени
  10. 1.2.2. Миниатюризация размеров и процесс тестирования
  11. 1.2.3. Минимизация энергии потребления
  12. 1.2.4. Интерфейс пользователя и интерфейс сопряжения с объектом
  13. 1.2.5. Многозадачность
  14. 1.2.6. Минимизация стоимости
  15. 1.2.7. Ограничение объема памяти
  16. 1.2.8. Программно–аппаратный дуализм
  17. 1.3. Введение в микроконтроллеры семейства 68HC12 и HCS12
  18. 1.4 Микроконтроллеры HCS12
  19. 1.4.1. Семейство HCS12
  20. 1.4.2. Обозначения МК
  21. 1.4.3. Модельный ряд HCS12
  22. 1.5. Заключение по главе 1
  23. 1.6. Вопросы и задания
  24. Глава 2 ПРОГРАММИРОВАНИЕ ВСТРАИВАЕМЫХ СИСТЕМ И СТРУКТУРНОЕ ПРОЕКТИРОВАНИЕ
  25. 2.1. Почему мы программируем микроконтроллеры на Си?
  26. 2.2. Преимущества программирования на языке ассемблер
  27. 2.3. Преимущества языков высокого уровня
  28. 2.3.1. Выбираем язык высокого уровня для программирования встраиваемых систем
  29. 2.3.2. Краткая история языка Си
  30. 2.4. Оптимальная стратегия — программирование на Си и на ассемблере
  31. 2.5. Структурное проектирование
  32. 2.5.1. Основные положения метода структурного проектирования
  33. 2.5.2. Документирование программ
  34. 2.5.3. Как язык Си соотносится со структурным проектированием
  35. 2.6. Рабочие тетради
  36. 2.6.1. Порядок ведения записей
  37. 2.6.2. Содержание записей
  38. 2.7. Блок схемы алгоритмов
  39. 2.8. Пример применения
  40. 2.9. Заключение по главе 2
  41. 2.10 Что еще почитать?
  42. 2.11 Вопросы и задания
  43. Глава 3 ОСНОВЫ ПРОГРАММИРОВАНИЯ МИКРОКОНТРОЛЛЕРОВ НА СИ
  44. 3.1. Введение в программирование на Си
  45. 3.1.1. Глобальные и локальные переменные
  46. 3.2. Типы данных в Си
  47. 3.3. Операторы языка Си
  48. 3.4. Функции
  49. 3.4.1. Что такое функция?
  50. 3.4.2. Основная программа
  51. 3.4.3. Прототипы функций
  52. 3.4.4. Описание функций
  53. 3.4.5. Вызов функций, передача параметров, возврат полученных значений
  54. 3.5. Файлы заголовков
  55. 3.6. Директивы компилятора
  56. 3.6.1. Директивы условной компиляции
  57. 3.7. Конструкции программирования
  58. 3.8. Операторы для организации программных циклов
  59. 3.8.1. Оператор FOR
  60. 3.8.2. Оператор WHILE
  61. 3.8.3. Оператор DO-WHILE
  62. 3.9. Операторы принятия решения
  63. 3.9.1. Оператор IF
  64. 3.9.2. Оператор IF-ELSE
  65. 3.9.3. Оператор IF-ELSE IF-ELSE
  66. 3.9.4. Оператор SWITCH
  67. 3.10. Массивы
  68. 3.11. Указатели
  69. 3.12. Структуры
  70. 3.13. Процесс программирования и отладки микропроцессорной системы
  71. 3.13.1. Технология создания программного кода
  72. 3.13.2. Режим отладки BDM
  73. 3.13.3. Аппаратные и программные средства отладчика P&E от компании PEMICRO
  74. 3.13.4. Эмуляторы
  75. 3.13.5. Логические анализаторы
  76. 3.14. Особенности компилятора и ассемблера
  77. 3.15. Заключение по главе 3
  78. 3.16. Что еще почитать?
  79. 3.17. Вопросы и задания
  80. Глава 4 МИКРОКОНТРОЛЛЕРЫ 68HC12 И HCS12: АРХИТЕКТУРА И ПРОГРАММИРОВАНИЕ
  81. 4.1. Аппаратные средства микроконтроллеров семейства 68HC12
  82. 4.2. Аппаратные средства МК семейства HCS12
  83. 4.3. Режимы работы МК семейства 68HC12/HCS12
  84. 4.3.1. Рабочие режимы
  85. 4.3.2. Режимы работы отладочной платы M68EVB912B32
  86. 4.4. Назначение выводов МК
  87. 4.5. Регистры специальных функций МК
  88. 4.5.1. Виртуальный адрес блока регистров
  89. 4.6. Порты ввода/вывода
  90. 4.6.1. Спецификация портов ввода/вывода
  91. 4.7. Подсистема памяти МК B32
  92. 4.7.1. Карта памяти МК B32
  93. 4.7.2. Изменение адресов в карте памяти МК
  94. 4.8. Подсистема памяти МК DP256
  95. 4.9. Состояния сброса и прерывания МК
  96. 4.9.1. Реакция МК на внешние события
  97. 4.10. Состояния сброса и прерывания в МК 68HC12
  98. 4.10.1. Состояние сброса МК
  99. 4.10.2. Прерывания
  100. 4.10.3. Вектора исключений
  101. 4.10.4. Система приоритетов для исключений
  102. 4.10.5. Регистры подсистемы прерывания
  103. 4.11. Процесс перехода к подпрограмме прерывания
  104. 4.12. Оформление подпрограммы прерывания на Си
  105. 4.13. Система тактирования
  106. 4.13.1.Система тактирования отладочной платы MC68HC912B32EVB
  107. 4.14. Подсистема реального времени — модуль таймера
  108. 4.14.1. Структура модуля таймера
  109. 4.14.2. Счетчик временной базы
  110. 4.14.3. Регистры для управления счетчиком временной базы
  111. 4.14.4. Каналы захвата/сравнения
  112. 4.14.5. Счетчик событий
  113. 4.15. Модуль меток реального времени
  114. 4.16. Модуль таймера ECT в составе МК МC68HC12BE32 и HCS12
  115. 4.16.1. Небуферированные каналы входного захвата
  116. 4.16.2. Буферированные каналы входного захвата
  117. 4.16.3. Особенности счетчиков событий
  118. 4.16.4. Регистры управления модуля EST
  119. 4.17. Обмен информацией в последовательном коде: многофункциональный последовательный интерфейс 
  120. 4.17.1. Термины последовательного обмена
  121. 4.18. Контроллер асинхронного обмена SCI
  122. 4.18.1. Передатчик контроллера SCI
  123. 4.18.2. Приемник контроллера SCI
  124. 4.18.3. Регистры контроллера SCI
  125. 4.18.4. Алгоритмы программного обслуживания контроллера SCI
  126. 4.18.5. Пример программирования контроллера SCI
  127. 4.19. Синхронный последовательный интерфейс SPI
  128. 4.19.1 Концепция интерфейса SPIФункциональная схема обмена между двумя контроллерами SPI
  129. 4.19.2. Алгоритмы работы контроллера SPI
  130. 4.19.3. Регистры контроллера SPI
  131. 4.19.4. Алгоритмы программного обслуживания контроллера SPI
  132. 4.19.5 Периферийные ИС с интерфейсом SPI
  133. 4.20. Введение в теорию аналого-цифрового преобразования
  134. 4.20.1. Частота дискретизации сигнала
  135. 4.20.2. Представление аналоговой величины в цифровом коде
  136. 4.20.3.Квантование по уровню и разрешающая способность
  137. 4.20.4 Скорость потока данных оцифровки
  138. 4.21. Принцип действия АЦП
  139. 4.21.1. АЦП последовательного приближения
  140. 4.22. Подсистема аналого-цифрового преобразования МК 68HC12
  141. 4.22.1 Структура и порядок функционирования
  142. 4.22.2. Регистры управления модуля ATD
  143. 4.22.3. Пример программирования модуля ATD
  144. 4.22.4. Обслуживание прерываний от модуля ATD
  145. 4.23. Особенности модуля ATD в составе МК семейства HCS12
  146. 4.23.1. Выбор разрядности АЦП
  147. 4.23.2. Представление результата измерения
  148. 4.23.3. Запуск измерительной последовательности от внешнего сигнала
  149. 4.23.4. Программируемое число преобразований в измерительной последовательности
  150. 4.23.5. Увеличение числа аналоговых входов
  151. 4.23.6. Регистры модуля ATD HCS12
  152. 4.24. Подсистема широтно-импульсной модуляции
  153. 4.24.1. Структура модуля PWM
  154. 4.24.2. Режимы центрированной и фронтовой ШИМ
  155. 4.24.3. Система тактирования
  156. 4.24.4. Регистры модуля PWM 
  157. 4.24.5. Примеры программирования модуля PWM
  158. 4.25. Ограничение энергии потребления
  159. 4.25.1. Как остановить МК 68HC12
  160. 4.25.2. Как вывести МК 68HC12 из состояния пониженного энергопотребления
  161. 4.26. Советы по использованию платы отладки MC68EVB912B32
  162. 4.27. Заключение по главе 4
  163. 4.28. Что еще почитать?
  164. 4.29. Вопросы и задания
  165. Глава 5 ОСНОВЫ СОПРЯЖЕНИЯ МК С УСТРОЙСТВАМИ  ВВОДА/ВЫВОДА
  166. 5.1. Электрические характеристики МК 68HC12
  167. 5.1.1. Нагрузочные характеристики
  168. 5.1.2. Что произойдет, если Вы должным образом не учтете электрические характеристики периферийных ИС?
  169. 5.1.3. Входные и выходные характеристики логических элементов
  170. 5.2. Устройства дискретного ввода: кнопки, переключатели, клавиатуры
  171. 5.2.1. Кнопки и переключатели
  172. 5.2.2. DIP переключатели
  173. 5.2.3. Клавиатуры
  174. 5.3. Устройства индикации: светодиоды, семисегментные индикаторы, индикаторы логического выхода с тремя состояниями
  175. 5.3.1. Светодиоды
  176. 5.3.2. Семисегментные индикаторы
  177. 5.3.3. Индикаторы для логического выхода с тремя состояниями
  178. 5.4. Программное обслуживание дискретных входов и выходов
  179. 5.5. Подавление механического дребезга контактов переключателей
  180. 5.5.1. Аппаратная защита от механического дребезга контактов
  181. 5.5.2. Программная защита от механического дребезга контактов
  182. 5.5.3. Пример программной защиты
  183. 5.6. Жидкокристаллические индикаторы
  184. 5.6.1. Краткие сведения о жидкокристаллических индикаторах
  185. 5.6.2. Сопряжение МК с символьным ЖК индикатором
  186. 5.6.3 Сопряжение МК с графическим ЖК дисплеем
  187. 5.7. Управление электрическим двигателем
  188. 5.7.1. Силовые полупроводниковые ключи
  189. 5.7.2. Оптоэлектронная потенциальная развязка
  190. 5.7.3. Инвертор напряжения
  191. 5.8. Кодовый замок
  192. 5.8.1. Схема подключения периферийных устройств
  193. 5.8.2. Программа управления
  194. 5.9. Интерфейс МК с аналоговыми датчиками
  195. 5.10. Интерфейс RS-232 
  196. 5.11. Заключение по главе 5
  197. 5.12. Что еще почитать?
  198. 5.13. Вопросы и задания
  199. Глава 6 ДОБРО ПОЖАЛОВАТЬ В РЕАЛЬНЫЙ МИР!
  200. 6.1. Ужасные истории об ошибках проектирования
  201. 6.1.1. Случай квадратичного генератора
  202. 6.1.2. Случай таймера для лазерного излучения
  203. 6.2. Правила обращения с микросхемой 68НС12 и рекомендации по проектированию 
  204. 6.2.1. Рекомендации по обращению со CMOS
  205. 6.2.2. Рекомендации по проектированию на CMOS 
  206. 6.3. Исследование помех
  207. 6.3.1. Что такое помехи
  208. 6.3.2. Электромагнитная совместимость
  209. 6.3.3. Спецификации системы помех — не будем крепки задним умом!
  210. 6.3.4. Методы снижения помех
  211. 6.4. Защитное программирование
  212. 6.5. Методики испытаний на наличие помех
  213. 6.5.1. Обнаружение помех
  214. 6.5.2. Испытание на чувствительность к помехам
  215. 6.5.3. Испытания на электромагнитную совместимость
  216. 6.6. Управление энергопотреблением 
  217. 6.6.1. Параметры потребляемой мощности для микроконтроллера 68HC12
  218. 6.6.2. Типы батарей
  219. 6.6.3. Емкость батарей
  220. 6.6.4. Стабилизация напряжения
  221. 6.6.5. Схемы супервизора для микропроцессора
  222. 6.6.6. Меры энергосбережения
  223. 6.7. Заключение по главе 6
  224. 6.8. Что еще прочитать?
  225. 6.9. Вопросы и задания
  226. Глава 7 ПРИМЕРЫ ВСТРОЕННЫХ СИСТЕМ УПРАВЛЕНИЯ
  227. 7.1. Система привода робота, движущегося вдоль стенок лабиринта
  228. 7.1.1. Описание проекта
  229. 7.1.2. Подсистемы 68HC12, используемые в проекте
  230. 7.1.3. Компоненты системы 
  231. 7.1.4. Структура программы и блок-схема алгоритма
  232. 7.1.5. Программный код
  233. 7.2. Лазерный проектор
  234. 7.2.1. Описание проекта
  235. 7.2.2. Подсистемы 68HC12 используемые в проекте
  236. 7.2.3. Описание некоторых компонентов системы
  237. 7.2.4. Аппаратные средства
  238. 7.2.5. Структура программы и блок-схема алгоритма
  239. 7.2.6. Программный код
  240. 7.2.7. Испытания устройства
  241. 7.2.8. Заключительные испытания системы управления
  242. 7.3. Цифровой вольтметр 
  243. 7.3.1. Описание проекта 
  244. 7.3.2. Системы 68HC12 используемые в проекте 
  245. 7.3.3. Расчет интерфейса модуля ATD
  246. 7.3.4. Структура программы и блок-схема алгоритма
  247. 7.3.5. Программа управления
  248. 7.3.6. Измерение неэлектрических величин
  249. 7.4. Стабилизация скорости вращения двигателя с использованием оптического тахометра 
  250. 7.4.1. Описание проекта
  251.  7.4.2. Немного теории
  252. 7.4.3. Анализ 
  253. 7.4.4. Структура программы и блок-схема алгоритма 
  254. 7.4.5. Программный код
  255. 7.4.6. Испытания
  256. 7.5. Парящий робот
  257. 7.5.1. Описание проекта
  258. 7.5.2. Системы HCS12 используемые в проекте
  259. 7.5.3. Теоретическое обсуждение
  260. 7.5.4. Структура программы и блок-схема алгоритма
  261. 7.5.5. Программный код
  262. 7.5.6. Некоторые комментарии
  263. 7.6. Система защиты компьютера, основанная на нечеткой логике 
  264. 7.6.1. Описание проекта
  265. 7.6.2. Использование системы HCS12
  266. 7.6.3. Основы теории
  267. 7.6.4. Структура программы и блок-схема алгоритма
  268. 7.6.5. Описание системы
  269. 7.6.6. Обсуждение проекта
  270. 7.6.7. Программный код
  271. 7.6.8. Некоторые комментарии
  272. 7.7. Электронная версия игры в «15» 
  273. 7.7.1. Описание проекта
  274. 7.7.2. Системы HCS12 используемые в проекте
  275. 7.7.3. Основы теории
  276. 7.7.4. Схемное решение, структура программы и блок-схема алгоритма
  277. 7.7.5. О компонентах системы
  278. 7.7.6. Программный код
  279. 7.7.7. Некоторые комментарии
  280. 7.8. Программирование резидентного Flash ПЗУ микроконтроллера B32 в составе платы отладки MC68HC912B32EVB
  281. 7.9. Заключение по главе 7
  282. 7.10. Что еще прочитать?
  283. 7.11. Вопросы и задания 
  284. Глава 8 ОПЕРАЦИОННЫЕ СИСТЕМЫ РЕАЛЬНОГО ВРЕМЕНИ
  285. 8.1. Рассказ: официант — «живая» операционная система реального времени
  286. 8.2. Что является целью ОСРВ?
  287. 8.3. Обзор концепций
  288. 8.3.1. Требования к динамическому распределению RAM
  289. 8.3.2. Динамическое распределение памяти
  290. 8.3.3. Структуры данных
  291. 8.4. Основные понятия
  292. 8.4.1. Что такое задача?
  293. 8.4.2. Управление задачами
  294. 8.4.3. Компоненты многозадачных систем
  295. 8.5. Типы операционных систем реального времени
  296. 8.5.1. Системы с циклическим опросом
  297. 8.5.2. Циклический опрос с прерываниями
  298. 8.5.3. Карусельные системы
  299. 8.5.4. Смешанные системы 
  300. 8.5.5. Системы с управлением по прерыванию
  301. 8.5.6. Кооперативная многозадачность
  302. 8.5.7. Многозадачные системы с преимущественным приоритетом
  303. 8.6. Проблемы ОСРВ
  304. 8.6.1. Конкуренция
  305. 8.6.2. Повторная входимость
  306. 8.6.3. Межзадачные связи
  307. 8.6.4. Безопасность, проверка и безотказная работа
  308. 8.6.5. Главный вопрос
  309. 8.7. Выполнение операционной системы реального времени
  310. 8.8. Пример применения: ОСРВ циклического опроса
  311. 8.8.1. Краткий обзор проекта
  312. 8.8.2. Пример кода
  313. 8.8.3. Испытание контроллера усилителя
  314. 8.9. Другая прикладная программа: цикл опроса с прерываниями
  315. 8.10. Сложное прикладное устройство: имитатор ОСРВ
  316. 8.10.1. Краткий обзор проекта
  317. 8.10.2. Типовой код
  318. 8.11.Заключение по главе 8
  319. 8.12. Что еще почитать? 
  320. 8.13. Вопросы и задания
  321. Глава 9 РАСПРЕДЕЛЕННЫЕ СЕТИ С ИНТЕРФЕЙСОМ msCAN
  322. 9.1. Компьютерные сети
  323. 9.2. Промышленные сети
  324. 9.3. Сети с протоколом CAN
  325. 9.3.1. Протокол CAN
  326. 9.3.2. Модуль контроллера последовательного обмена msCAN12
  327. 9.3.3. Проблемы синхронизации
  328. 9.3.4. Конфигурирование модуля msCAN12 для работы в сети
  329. 9.4. Различия между контроллерами msCAN в составе 68HC12 и HCS12
  330. 9.5. Пример программирования контроллера msCAN Схема включения аппаратных средств для двух отладочных плат Axiom
  331. 9.6. Контроллер последовательного обмена BDLC
  332. 9.7. Заключение по главе 9
  333. 9.8. Что еще почитать?
  334. 9.9. Вопросы и задания