Лабораторный БП PSL-3604
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Лабораторный БП PSL-3604
Для варианта с аппаратным I2C я успел написать вот это, но из-за ошибки в процессоре с ремепнутыми I2C и SPI не заработало.
- Вложения
-
- hw_i2c.zip
- (2.13 КБ) 205 скачиваний
- Реклама
-
altais
- Первый раз сказал Мяу!
- Сообщения: 20
- Зарегистрирован: Вс фев 09, 2014 21:14:00
- Откуда: Харьков
Re: Лабораторный БП PSL-3604
Наверное уже офтоп, но нашел AN о котором упоминал: AN2824. Может кому на будущее пригодится. Реализован драйвер, учитывающий еррату, при этом работает напрямую с регистрами(через stdlib только инициализация). Его объем меня в свое время впечатлил.
- Вложения
-
- I2CRoutines.c
- (26.32 КБ) 543 скачивания
-
altais
- Первый раз сказал Мяу!
- Сообщения: 20
- Зарегистрирован: Вс фев 09, 2014 21:14:00
- Откуда: Харьков
Re: Лабораторный БП PSL-3604
Леонид Иванович, возможно стоит вынести драйвер периферии в отдельный шаблонный класс (т.к. как на кристалле их может быть несколько), eeprom тоже сделать шаблоном и в параметре указывать текущий используемый модуль. Тогда драйвер ееprom не будет зависеть от реализации, вероятность повторного использования такого кода возрастает. Например, специализация класса Uart в моих исходниках:
...
typedef Usarts::UsartIrq<USART1_BASE, Usarts::FullRemap> U1;
...
При специализации UART опционально можно еще указать пин DE для RS485 и размер кольцевого буфера.
В качестве более полного примера прикреплю исходник с реализацией протокола Wake для STM8 в подобном стиле. По сути это Ваш код после рефакторинга.
P.S.: Для OneWire можно обойтись одной ногой, Uart2 умеет работать в полудуплексе по одной линии (Single-Wire mode)
...
typedef Usarts::UsartIrq<USART1_BASE, Usarts::FullRemap> U1;
...
При специализации UART опционально можно еще указать пин DE для RS485 и размер кольцевого буфера.
В качестве более полного примера прикреплю исходник с реализацией протокола Wake для STM8 в подобном стиле. По сути это Ваш код после рефакторинга.
P.S.: Для OneWire можно обойтись одной ногой, Uart2 умеет работать в полудуплексе по одной линии (Single-Wire mode)
- Вложения
-
- wake.h
- (12.83 КБ) 221 скачивание
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Лабораторный БП PSL-3604
Да, там много чего можно улучшить, исходник PSL-3604 требует глубокого рефакторинга.altais писал(а):возможно стоит вынести драйвер периферии в отдельный шаблонный класс
Фрагмент работы через аппаратный I2C был сначала написан, а потом выброшен, я его нигде не использую. В конечном проекте программный I2C. В нем тоже можно отделить реализацию I2C от работы с EEPROM и сделать программный I2C шаблоном с параметрами в виде номеров порта и пинов. Но это кусок работы, на всё времени не хватает.altais писал(а):eeprom тоже сделать шаблоном и в параметре указывать текущий используемый модуль.
Вижу, реализованы только прием и передача пакета. А формирование пакета делается снаружи. В реализации, которая применена в PSL-3604, в класс Wake добавлены методы для формирования и разбора пакета: AddByte, AddWord, GetByte, GetWord и другие.altais писал(а):В качестве более полного примера прикреплю исходник с реализацией протокола Wake для STM8 в подобном стиле. По сути это Ваш код после рефакторинга.
В исходнике PSL-3604 есть закомментированная строчка:altais писал(а):P.S.: Для OneWire можно обойтись одной ногой, Uart2 умеет работать в полудуплексе по одной линии (Single-Wire mode)
Код: Выделить всё
//USART2->CR3 = USART_CR3_HDSEL; //работа через один пин USART2_TX (PA2)Код: Выделить всё
//Если выбрать режим "single-wire half-duplex mode" для USART2, то
//для реализации шины 1-Wire достаточно одного вывода USART2_TX (PA2).
//Но поскольку на печатной плате уже есть соединение PA2 - PA3,
//этот режим здесь не используется (строчка закомментирована).
//Нужно заметить, что реализация приема-передачи через разные пины может
//быть иногда полезной, например, при реализации опторазвязки интерфейса.-
altais
- Первый раз сказал Мяу!
- Сообщения: 20
- Зарегистрирован: Вс фев 09, 2014 21:14:00
- Откуда: Харьков
Re: Лабораторный БП PSL-3604
Формирования пакета нет, потому что это базовый класс. Класс конечного устройства наследует и формирует пакет. С моей стороны следовало более внимательно изучить детали прежде чем давать поверхностные советы. Тему прочитал, но исходники по диагонали только смотрел.
- Реклама
-
Stopus
- Открыл глаза
- Сообщения: 70
- Зарегистрирован: Вт авг 12, 2008 12:22:58
- Откуда: Шишаки Полтавская обл
Re: Лабораторный БП PSL-3604
Всем доброго здравия!
Подскажите, пожалуста, сам скоро дыметь начну: на плате power supply board между контактами OUT+ и OUT- стоит разем SENSE - куда от него идут провода, на какой плате ему установлена ответная часть? Ну не могу я ее найти, вижу на фото, что у автора он куда то подключен, а найти куда не могу! Заранее благодарен!
Подскажите, пожалуста, сам скоро дыметь начну: на плате power supply board между контактами OUT+ и OUT- стоит разем SENSE - куда от него идут провода, на какой плате ему установлена ответная часть? Ну не могу я ее найти, вижу на фото, что у автора он куда то подключен, а найти куда не могу! Заранее благодарен!
- morokot
- Вымогатель припоя
- Сообщения: 587
- Зарегистрирован: Вт сен 13, 2011 13:29:09
- Откуда: Крым, Симферополь
Re: Лабораторный БП PSL-3604
OUT+ cоединяется с SENSE+ на выходной клемме, с отрицательными контактами аналогично, если не предусмотрены отдельные клеммы...
-
Stopus
- Открыл глаза
- Сообщения: 70
- Зарегистрирован: Вт авг 12, 2008 12:22:58
- Откуда: Шишаки Полтавская обл
Re: Лабораторный БП PSL-3604
Понял. Большое спасиба!
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Лабораторный БП PSL-3604
Здравствуйте. Может не втему вопрос, не подскажите где можно заказать плату управления-ЦАП на блок питания Korad KA-3005D - умудрился спалить с дымком их спец контролер "KORAD 1 20140624". Или с других клонов таких БП UNIT, VELLEMAN PS3005P, zhoxin JPS3005d может посоветуте?
- МСВ
- Нашел транзистор. Понюхал.
- Сообщения: 175
- Зарегистрирован: Чт апр 12, 2012 12:22:37
- Откуда: Украина, Одесса
Re: Лабораторный БП PSL-3604
Подскажите, пожалуйста кто-то назначение и номинал резистора R100? Что-то не могу найти его в схеме.
Никогда не говори никогда!
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: Лабораторный БП PSL-3604
R100 - это нулевой резистор (перемычка), на схеме возле разъема XP4. В новой версии схемы не устанавливается, хотя, по идее, вреда от него тоже не будет.
-
Stopus
- Открыл глаза
- Сообщения: 70
- Зарегистрирован: Вт авг 12, 2008 12:22:58
- Откуда: Шишаки Полтавская обл
Re: Лабораторный БП PSL-3604
Всем доброго здравия!
Пришло время запрограммировать контроллер, а я не могу разобраться, какой кабель использовать. Программа предлагает использовать COM порт. Подскажите распайку кабеля или мне искать программу для программирования через USB?
Пришло время запрограммировать контроллер, а я не могу разобраться, какой кабель использовать. Программа предлагает использовать COM порт. Подскажите распайку кабеля или мне искать программу для программирования через USB?
- morokot
- Вымогатель припоя
- Сообщения: 587
- Зарегистрирован: Вт сен 13, 2011 13:29:09
- Откуда: Крым, Симферополь
Re: Лабораторный БП PSL-3604
Когда Вы подключите БП к компу, установите драйвер для перехдодника на FT232, в системе появится новый COM-порт, вот через него и программируйте
-
Stopus
- Открыл глаза
- Сообщения: 70
- Зарегистрирован: Вт авг 12, 2008 12:22:58
- Откуда: Шишаки Полтавская обл
Re: Лабораторный БП PSL-3604
Спасиба за подсказку! Буду пробовать.
-
Stopus
- Открыл глаза
- Сообщения: 70
- Зарегистрирован: Вт авг 12, 2008 12:22:58
- Откуда: Шишаки Полтавская обл
Re: Лабораторный БП PSL-3604
Всем доброго здравия!
Снова обращаюсь за помощью. Скачал и установил программу Flash Loader Demonstrator, драйвер для ft232 - все встало как нада. COM порт программа сгенерила, подключаю переднюю панель нажимаю boot а отклика от процессора нет. Нужно ли подавать питание на лицевую панель (+5В) или она питается от usb? И можно ли первый раз залить прошивку через загрузщик или нет? Буду признателен за любую подсказку!
Заранее благодарен за помощ!
Снова обращаюсь за помощью. Скачал и установил программу Flash Loader Demonstrator, драйвер для ft232 - все встало как нада. COM порт программа сгенерила, подключаю переднюю панель нажимаю boot а отклика от процессора нет. Нужно ли подавать питание на лицевую панель (+5В) или она питается от usb? И можно ли первый раз залить прошивку через загрузщик или нет? Буду признателен за любую подсказку!
Заранее благодарен за помощ!
Re: Лабораторный БП PSL-3604
Как через опторазвязку у Вас питание на панель с USB пройдет? Естественно нужно.Stopus писал(а): Нужно ли подавать питание на лицевую панель (+5В) или она питается от usb?
- imon220
- Потрогал лапой паяльник
- Сообщения: 326
- Зарегистрирован: Сб июл 27, 2013 03:46:14
- Откуда: Р Крым
Re: Лабораторный БП PSL-3604
Пытался прошить ,но помойму что т не так.No response from the target .Я так понимаю нет связи с контролёром. Подал питания на плату 5в. лампочка на (питании пригосает) когда нажимаю boot то ещё сильнее тускнеет .на reset то светлеет. Получается мк срабатывает при нажатии на boot.
Я думаю не проще с Китая stm заказать.
Я думаю не проще с Китая stm заказать.
Re: Лабораторный БП PSL-3604
imon220, попробуйте отдельно проверить виртуальный COM порт, используя заглушку и программу для проверки COM портов. Может он у Вас не работает.
ЗЫ Заглушка представляет из себя перемычку между 2 и 3 выводом XP2
Программа для проверки COM порта в прилагаемом файле (или аналогичная) Снимите все галочки под "Randomly Change"
При нажатии кнопки старт (без заглушки) по колонке IN отображаются входные импульсы, OUT пустой. После подключения заглушки в колонке OUT отображаются значения входа (только с задержкой) Если этого нет - COM порт не работает!

ЗЫ Заглушка представляет из себя перемычку между 2 и 3 выводом XP2
Программа для проверки COM порта в прилагаемом файле (или аналогичная) Снимите все галочки под "Randomly Change"
При нажатии кнопки старт (без заглушки) по колонке IN отображаются входные импульсы, OUT пустой. После подключения заглушки в колонке OUT отображаются значения входа (только с задержкой) Если этого нет - COM порт не работает!
- Вложения
-
- comstresstest122b1017.zip
- (817.57 КБ) 261 скачивание


