реклама на сайте
подробности

 
 
> Proteus и модель LPC2138 - глюки...
Regressor
сообщение Nov 16 2009, 13:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 68
Регистрация: 10-01-09
Пользователь №: 43 111



Прошу совета у гуру. Делаю некое устройство, превращающее машину в что-то вроде умного дома на колесах. Устройство делается на основе LPC2378. Большую часть получаемых данных оно обрабатывает само и реагирует тоже само. Почти все данные можно получить с этого устройства на компьютер через USB либо ethernet ну и управляться оно тоже может через эти интерфейсы. Плюс оно имеет свой экран LCD 128x64 и 4 кнопки (esc, enter, <, >). Практически весь код (основа - nichelite) взаимодействия с датчиками машины, gps и компьютером написан, осталось сделать отрисовку данных на экране, меню и т.п. - т.е. интерфейс.

Чтобы не шить постоянно контроллер и проверять как смотрится тот или иной экран с данными решил сделать схему в протеусе и замоделировать интерфейс на нем. Взял в протеусе lpc2138, подключил к нему wg12864, 4 кнопки, кварц, виртуальный uart терминал. Скопировал проект в другой каталог и слегка его подрезал - убрал запуск задач сети, инициализацию usb, подправил загрузчик, отключил инициализацию отсутствующей переферии. Ставлю в keil девайс lpc2138, компилирую с созданием .hex. В настройках контроллера в протеусе указываю файл прошивки. Запускаю симуляцию и фик... Ничего... Тишина. Даже трейсы не показывают что PLL сконфигурен. В логе симуляции пишет что XTAL1 и XTAL2 not modelled - я так понимаю это означает что в симуляторе они не учитываются ? Убрал нафик оптимизацию - не помогло.

Ладно, чтобы посмотреть что за фигня ставлю дрова Proteus VSM AGDI и запускаю симуляцию через keil как отладку. Прохожу потихоньку инициализацию - все нормально. В трейсах пишет что мол PLL enabled FOSC=10Mhz, CCLK=60Mhz, FCCO=240Mhz а потом PLL connected OK. На этапе инициализации воткнул отрисовки логотипа на LCD - все нарисовалось. А дальше начинаются глюки - на ровном месте валится в DAbort (например в ns_printf валится в разных местах). Бывает и инициализацию не проходит. Все что можно уже проверил. Не могу понять в чем дело. Плюс совсем непонятные глюки с UART1 - на 2378 у меня делители расчитывались при инициализации для нужных скоростей, а потом брались уже из таблицы. Тут смотрю виртуальный терминал хрень выдает. Ставлю трейс на UART1 - смотрю в логах скорости совсем бредовые. Считаю делители пихаю их в DLL, DLM - на выходе бред. Ставлю DLL=1 DLM=0, смотрю скорость которую трейс пишет, считаю частоту - получаю как и положено 15Мгц (VPBDIV = 0). Путем экспериментов выяснил, что на любое значение DLM модель реагирует неадекватно и непредсказуемо sad.gif Короче потратил фигову кучу времени и получил 0 результата.

Кто-нибуть работал в протеусе с этой моделькой ? Это я что-то не так делаю или она такая глючная ?

З.Ы. Протеус у меня 7.5SP3....

Сообщение отредактировал Regressor - Nov 16 2009, 14:23
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:47
Рейтинг@Mail.ru


Страница сгенерированна за 0.01353 секунд с 7
ELECTRONIX ©2004-2016