Современная электроника №4/2024
ИНЖЕНЕРНЫЕ РЕШЕНИЯ 48 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА • № 4 / 2024 чим , что для вывода одной гистограм - мы потребуется вывести 7 × 20 байт = = 140 байт , а для двух , соответствен - но , – 280 байт . Разделив 280 байт на 1 500 000 байт / с , получим 186 мкс | | 200 мкс . Таким образом , время выво - да на дисплей примерно в 10 раз боль - ше времени работы АЦП (20 мкс – см . выше ). Общее время вывода двух гистограмм с учётом АЦП составит око - ло 240 мкс . Частота обновления экрана дисплея составит 1/240 мкс = 1/0,24 мс = = 4,167 кГц , т . е . чуть более 4 кГц . Это более чем на порядок быстрее обнов - ления экрана телевизора (100–200 Гц ). В качестве дисплея можно исполь - зовать и более медленный , цветной 0,96 ″ TFT- дисплей с IPS- матрицей . В этом дисплее вместо вывода одного бита , определяющего цвет ( как в OLED 1306), требуется вывести 2 байта цве - та (16 бит ), т . е . он в 16 раз медленнее OLED 1306. Но даже в этом случае его частота обновления экрана составит 4000 Гц / 16 = 250 Гц , хотя эта часто - та может быть незначительно сни - жена , поскольку из - за чуть большего разрешения этого дисплея по сравне - нию с OLED 1306 (80×160 пикселей против 64×128 в OLED 1306) придётся выводить бо́льшее количество пиксе - лей ( байт ), правда , ненамного . Мож - но предположить , что частота обнов - ления экрана будет всё равно больше частоты обновления экрана телевизо - ра . Этот дисплей полноцветный ( а не двухцветный , как OLED 1306). В свя - зи с этим в качестве цвета гистограмм в нормальном режиме работы можно использовать зелёный цвет , а в режи - ме перегрузки , т . е . превышения порога , когда могут возникнуть искажения , – красный , что намного эстетичней , чем соответственно синий и жёлтый цве - та в OLED 1306. С учётом предыдущих подпрограмм основная программа очень проста и приведена в листинге 3. Она изме - ряет напряжение каждого канала и выводит на дисплей обе гистограм - мы . Как можно заметить , програм - ма зациклена ( её последний опера - тор goto A). После трансляции всей программы в среде Simplisity Studio внизу экрана появляется следующее сообщение : Program Size: data=64.1 xdata=0 const=0 code=1105 LX51 RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) Finished building target: EFM8LB12F64E-C-QFN24_6.omf Из этого сообщения следует , что программа использует около полови - ны ( всего 64 байта ) внутренней опера - тивной памяти с прямой адресацией (data = 64.1), размер которой 128 байт , внешняя дополнительная оператив - ная память с косвенной адресацией размером 4096 байт не использует - ся вообще (xdata = 0), размер кодовой части программы составляет 1105 байт (code = 1105), т . е . чуть более 1 кбайт , что соответствует около 1/64 от макси - мального размера программной памя - ти для этого МК , равного 64 кбайт . В связи с этим в качестве МК могут использоваться МК EFM8LB11F16 или EFM8LB10F16 ( они дешевле EFM8LB12F64) с программной памя - тью 16 кбайт . Программа использует так называемую small model, где все данные располагаются в памяти с пря - мой адресацией (data), и которая рабо - тает наиболее быстро . Программа в уже готовом загрузоч - ном *.hex- формате (EFM8LB12F64E-C- QFN24_6.hex) приведена в дополни - тельных материалах к статье на сайте журнала . Конструкция и результаты работы устройства К плате дисплея по углам , где распо - ложены крепёжные отверстия , эпок - сидной смолой приклеены 4 квадрат - ные пластиковые пластины размером 4×4×2 мм ( рис . 5). Чтобы отражаю - щая поверхность дисплея не касалась поверхности корпуса усилителя , тол - щина пластины выбрана чуть больше Рис . 5. Устройство в сборе , вид с обратной стороны лицевой панели корпуса усилителя Рис . 6. Устройство в работе , вид с лицевой панели усилителя Листинг 3. Основная программа //----------------------------------- u//---------------------------- // main() Routine // --------------------------- int main(void) { // Call hardware initialization routine enter_DefaultMode_from_RESET(); //------------------ CLS(); // Инициализация ЖКИ CS = 1; //---------------------------- A: U1 = ACP(1); DEL2US(); U2 = ACP(2); U1 = U1 * 3;//2-Ку ИУ;2-Ку ОУ выпрямителя(10,2К);0,75-Ку АЦП МК U2 = U2 * 3;//2*2*0,75=3. outUL(U1,1);// левый канал outUL(U2,2);// правый канал goto A; }
RkJQdWJsaXNoZXIy MTQ4NjUy