Модуль цифрового осцилографа
|
|
Sergi | Дата: Вторник, 09.10.2012, 20:32 | Сообщение # 241 |
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| Вот пара проектов под F100. В одном я скорость чтения проверял, во втором файловая система,акселерометры и еще всякое пихал для пробы. Черновики в общем.
|
|
| |
ВитГо | Дата: Вторник, 09.10.2012, 20:59 | Сообщение # 242 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Спасибо, сейчас посмотрю..
я тут мигаю светодиодом уже :-)
правда на HSI (тактирование не трогал)
кстати решил все таки поставить Coocox.. и ставиться просто и бесплатная (не хочу я пиратством заниматься, а фрее версии как правило слишком уж коцанные по размеру).. ставил по EasySTM32. там даже в конце есть архив с софтом.. но я скачал новые версии (CoIDE 1.5.1 и компилятора) там же краткое описание первого проекта... камней там куча вроде.. на сайте есть примеры кода..
Виталий (аka ВитГо)
|
|
| |
ВитГо | Дата: Вторник, 09.10.2012, 21:23 | Сообщение # 243 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| гм.. чтото у меня твое тактирование не работает.. по крайней мере что с ним что без него - светодиод мигает с одинаковой скоростью....
попробую посмотреть даташит
p.s. разобрался, в cmsis настройка тактирования была :-) поэтому и не было разницы в скорости...
Виталий (аka ВитГо)
Сообщение отредактировал ВитГо - Вторник, 09.10.2012, 23:33 |
|
| |
Sergi | Дата: Среда, 10.10.2012, 00:11 | Сообщение # 244 |
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| Если есть переходник uart-usb можно проверить скорость чтения. С начала заполнить массив inp(100) потом вывести на uart. Меандр подавать на старший разряд и посмотреть когда в uart меняется код. Я сразу на дисплей выводил. При моем такте 40М выходило 0,15 мкс на один отсчет
|
|
| |
ВитГо | Дата: Среда, 10.10.2012, 05:26 | Сообщение # 245 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| ты осциллографом смотрел ?
Виталий (аka ВитГо)
|
|
| |
Sergi | Дата: Среда, 10.10.2012, 08:56 | Сообщение # 246 |
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| Я картинку приводил на 1 стр. Там входная частота 260,8кГц. 100 отсчетов на экран, вертикали через 25 отсчетов.
Сообщение отредактировал Sergi - Среда, 10.10.2012, 09:12 |
|
| |
ВитГо | Дата: Среда, 10.10.2012, 09:59 | Сообщение # 247 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| вопросы на засыпку: - как будут формироваться сигналы AMP и POS входной части ? - как получаем +3 и -3 вольта для питания аналоговых цепей? - все таки AD603 применяем ? (на схеме она нарисована) ?
схему прикладываю
p.s. с первой страницы картинка не открывается.. наверное сервак лежит :-)
Виталий (аka ВитГо)
|
|
| |
Sergi | Дата: Среда, 10.10.2012, 20:05 | Сообщение # 248 |
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| Я аналоговую часть нарисовал примерно. Для того чтоб ацп развести, но и с другими деталями управление будет похожее. AMP - сигнал уровня усиления,диапазон 0...+3в. Подавать надо с цап МК. POS - сигнал позиции по вертикали, диапазон 0..-(Uref/(R19/R24+1) или 0...-0.5в примерно. Формируется шимом и инвертируется дополнительным оу. Питать все думал от литиевого акб с напряжением 3.6...4.2в. Цепи заряда и формирования напряжений хочу взять из первого ОсА. AD603 только для примера. Я еще не разобрался с 8331
|
|
| |
ВитГо | Дата: Среда, 10.10.2012, 20:25 | Сообщение # 249 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Quote (Sergi) POS - сигнал позиции по вертикали, диапазон 0..-(Uref/(R19/R24+1) или 0...-0.5в примерно. Формируется шимом и инвертируется дополнительным оу.
я забыл: а почему мы не можем формировать POS от ЦАП ? из за того что он должен быть диапазона +- 2.5 в (а не 0..+3в) ?
просто я хочу заказать уже делали для входной части.. вот и пытаюсь выяснить что мне понадобиться.
доставка обычно от 300 до 600 рублей с магазина - поэтому хочется заказать все за один раз :-)
Виталий (аka ВитГо)
|
|
| |
Sergi | Дата: Среда, 10.10.2012, 20:37 | Сообщение # 250 |
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| Вот первая засада. У ad603 питание минимум +-4,75в (двухполярное). У ad8331 +5.5в макс однополярное ( или +-2,75в). У ad9283 однополярное 2.7в минимум. Могут потребоваться отдельные источники для оу и ацп. У МК всего два канала ЦАП. Для одноканального хватит. Для 2х - еще нужны 2 ЦАПа. Вот хочу два из шим сделать.
Сообщение отредактировал Sergi - Среда, 10.10.2012, 20:39 |
|
| |
ВитГо | Дата: Среда, 10.10.2012, 21:31 | Сообщение # 251 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| Quote (Sergi) Вот первая засада. У ad603 питание минимум +-4,75в (двухполярное). У ad8331 +5.5в макс однополярное ( или +-2,75в). У ad9283 однополярное 2.7в минимум.
стоит наверное подобрать для аналоговой части микросхемы с одинаковыми значениями напряжения - иначе получаем сложности там где они не нужны :-)
Quote (Sergi) У МК всего два канала ЦАП. Для одноканального хватит. Для 2х - еще нужны 2 ЦАПа. Вот хочу два из шим сделать
о! тогда ты меня обрадовал, я пока буду делать одноканальный :-)
p.s. ты с ремапом пинов портов для альтернативных функций разбирался ?
Виталий (аka ВитГо)
|
|
| |
Sergi | Дата: Среда, 10.10.2012, 21:49 | Сообщение # 252 |
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| А чего там разбираться! Включил remap на нужный блок и все! С аналогом ничего не выходит. 8331 по питанию подходит, по управлению нет. Для 603 надо преобразователь ставить .
Сообщение отредактировал Sergi - Среда, 10.10.2012, 21:49 |
|
| |
ВитГо | Дата: Среда, 10.10.2012, 22:02 | Сообщение # 253 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| просто у f407 отличаются многие порты
непривычно.. вместо CRH\CRL применяются узкоспецализированные регистры, остальные тоже по другому скомпанованы Quote typedef struct { __IO uint32_t MODER; /*!< GPIO port mode register, Address offset: 0x00 */ __IO uint32_t OTYPER; /*!< GPIO port output type register, Address offset: 0x04 */ __IO uint32_t OSPEEDR; /*!< GPIO port output speed register, Address offset: 0x08 */ __IO uint32_t PUPDR; /*!< GPIO port pull-up/pull-down register, Address offset: 0x0C */ __IO uint32_t IDR; /*!< GPIO port input data register, Address offset: 0x10 */ __IO uint32_t ODR; /*!< GPIO port output data register, Address offset: 0x14 */ __IO uint16_t BSRRL; /*!< GPIO port bit set/reset low register, Address offset: 0x18 */ __IO uint16_t BSRRH; /*!< GPIO port bit set/reset high register, Address offset: 0x1A */ __IO uint32_t LCKR; /*!< GPIO port configuration lock register, Address offset: 0x1C */ __IO uint32_t AFR[2]; /*!< GPIO alternate function registers, Address offset: 0x20-0x24 */ } GPIO_TypeDef;
и такие отличия на каждом шагу
Виталий (аka ВитГо)
|
|
| |
Sergi | Дата: Среда, 10.10.2012, 22:15 | Сообщение # 254 |
Подполковник
Группа: Проверенные
Сообщений: 540
Статус: Offline
| Я так понял это структура конечных точек регистров, а CRH/CRL указывает на старший/младший байт 16битного порта. В f100 так и есть.
|
|
| |
ВитГо | Дата: Среда, 10.10.2012, 22:43 | Сообщение # 255 |
Полковник
Группа: Администраторы
Сообщений: 2422
Статус: Offline
| может быть.
под схему что давал выше сконфигурил порт А
Code void mosc_gpioa_conf() {
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN; // PA4 PA5 PA6 PA8 GPIOA->MODER = GPIO_MODER_MODER5_0 | GPIO_MODER_MODER8_1; GPIOA->OTYPER = 0; GPIOA->OSPEEDR = GPIO_OSPEEDER_OSPEEDR5 | GPIO_OSPEEDER_OSPEEDR8; GPIOA->PUPDR = 0; GPIOA->AFR[0] = (13<<(4*4)) | (13<<(6*4)); GPIOA->AFR[1] = 0;
// PA4 - DCMI_HSYNC - вход сигнала синхронизации // PA5 - OutPort - выход сигнала синхронизации DCMI_HSYNC
// PA6 - DCMI_PIXCLK - вход сигнала синхронизации // PA8 - MCO1 - выход сигнала синхронизации DCMI_PIXCLK }
Виталий (аka ВитГо)
|
|
| |