- А чего это Evgeny_CD молчит? ;-) Вчера компания представила процессоры семейства Atom E600C, которые сочетают в одной упаковке ядро Atom E600 (Tunnel Creek) и программируемую матрицу Altera FPGA. =AlexD=(98 знак., 23.11.2010 08:39, MCU, ссылка, полностью)
- Нет ли у кого в электронном виде книги "C.M. Kormanyos, Real-Time C++"? - Леонид Иванович(28.04.2013 12:35, MCU, полностью)
- Положил книгу в upload - AlexG(03.05.2013 08:33, ссылка)
- Книга полезная, или вредная? - АПМ(01.05.2013 22:08)
- Офиц. источники -> --> - Evgeny_CD(01.05.2013 12:18, ссылка, ссылка)
- Глава из книги Evgeny_CD(01.05.2013 12:03)
- Исходные коды из книги -> - Evgeny_CD(01.05.2013 12:02, ссылка)
- А реалтайм - обязательно С++ ? tesla(167 знак., 01.05.2013 05:47)
- Разве оно нужно в курятниках? - Apтём(01.05.2013 04:27)
- книга только вышла, до торрентов не доползла еще. тут есть содержание в PDF -> Snaky(48 знак., 01.05.2013 03:36, ссылка)
- Такие есть: Точка опоры(126 знак., 28.04.2013 12:55)
- Кто имел дело с CY7C68013a, подскажите, почему нет сигналов на портах, при том, что по USB устройство работает правильно? Sylvan(465 знак., 22.05.2013 23:23, MCU, полностью)
- MSP430 FET, 2002-го года, который подключается к LPT порту - может ли с ним работать (прошить MSP430F1121) новый IAR? ыыыы(277 знак., 22.05.2013 13:07,
, MCU, полностью)MBedder
- если кому интересно - заработало, причину не нашел - может контакты в панельке, может винду надо было нечетное число раз резетить. - ыыыы(23.05.2013 12:15)
- Должен работать. Приведите схему подключения. Мнится мне, что вы подключаете JTAG неправильно. - rezident(22.05.2013 13:11)
- это фирменная TI платка ~5x5cm (не смог найти доки в сети - очень древняя, может это и не FET), буфер SN74ххх и панелька такая хитрая под SOIC. лет 10 назад я что-то с ней делал, то есть работало. может, то что я выбирал в настройках IAR ыыыы(192 знак., 22.05.2013 14:00,
)
- плата MSP-FET430X110 - вот она www.ti.com/graphics/tool/msp-fet430x110.jpg www.ti.com/tool/msp-fet430x110 - ыыыы(22.05.2013 14:06,
)MBedder
- См. по своей же ссылке в доке IAR Embedded Workbench Version 3+ for MSP430(tm) User's Guide (Rev. AB) на стр. 38 есть схема этой платы. Должно с IAR работать, если LPT в вашем ПК живой/нормальный. - rezident(22.05.2013 14:47, ссылка)
- Дядя
Федор Сережа, ну зарегистрируйся же ты, наконец - никуя не убудет, зато сможешь и ссылки вставлять, и редактироваться, и т.д. - не только тебе, но и нам уютнее будет! - MBedder(22.05.2013 14:17)
- в какой весии IAR отладчик был как бы отдельный C-SPY? (пока не нашел решения, но на сайте TI эта платка ACTIVE) www.gaw.ru/html.cgi/txt/soft/MSP430/kick.htm - ыыыы(22.05.2013 14:14,
)
- Хм... А вот MSP430G2955 довольно интересен со своими 4 кб RAM /56 кб флэш. За свою цену. Для handheld... - Гудвин(22.05.2013 15:37, MCU, полностью)
- Черт дернул обновить прошивку STM32 на плате STM8L-Discovery. Как вернуть взад? - amusin(21.05.2013 19:54, MCU, полностью)
- GCC, лыжи не едут. Есть перекрасно работающая функция обработки массива. При попытке объявить локальные переменные static - время исполнения увеличивается в 7-10 раз. Почему и что делать? Hobo(796 знак., 21.05.2013 10:32 - 12:27, MCU, полностью)
- Проще писать нужно! Bill(307 знак., 21.05.2013 14:50 - 15:40)
- Господа, всем большое спасибо, источник проблемы - понятен, несколько вариантов решений - есть, ушел бороться. - Hobo(21.05.2013 14:13)
- а они Вам точно статические нужны? Nikolay801_(740 знак., 21.05.2013 13:34)
- держи ф-ю копирования от Phoenix Computer Products Corp. and Novum Organum, Inc. abivan(213 знак., 21.05.2013 13:30)
- Похоже истина за amx и Vladimir Ljaschko. Листинг так и не вышел, отладчика нет, для меня оказалось проще дизассемблировать :) Hobo(120 знак., 21.05.2013 13:13 - 13:19)
- Какой у вас конкретно компилятор и под никс или win? - Make_Pic(21.05.2013 12:52)
- а что за проц? локальные переменные достаются по смещению от sp, а глобальные (и статические) по смещению от неких констант. если в ABI проца нету глобальных указателей, то может быть так и должно быть. - ыыыы(21.05.2013 12:49,
)
- while заменяется на: int sz=lastAddr-ps; if (sz>0) memcpy(pd, ps, sz), pd+=sz, ps+=sz; - fk0(21.05.2013 11:34)
- когда указатели становятся static - они переносятся из регистров в ОЗУ => вместо "прочитать из ОЗУ - записать в ОЗУ" ваш цикл превращается в "прочиать из ОЗУ ps и pd, прочитать значение из ОЗУ по ps, записать в ОЗУ по pd, записать в ОЗУ новые amx(64 знак., 21.05.2013 10:55)
- Какой уровень оптимизации? И предоставьте asm-листинг цикла до и после изменений. - SciFi(21.05.2013 10:38)
- возможно вы мешаете оптимизатору расположить их в памяти там где удобней. что говорит асм-листинг или .map? - Snaky(21.05.2013 10:37)
- В примерах от TI для СС430 есть функция void LFXT_Start(uint16_t xtdrive) при отладке программа заходит в неё и выполняет бесконечный цикл: Broad_smile(420 знак., 21.05.2013 14:06,
, MCU, полностью)
- Есть радиомодуль с МК CC430F5137 рассчитанный на работу на частоте 433 МГц. Кто-нибудь может подкинуть простой рабочий пример работы радиоканала? - Broad_smile(21.05.2013 12:22,
, MCU, полностью)
- Есть проблема. Изделие на МК накапливает информацию с временными метками. Время считается от кварца МК. Короче, оно убегает от реального. Но контроллер периодически может получать реальное время от разных источников (но не факт, что достоверное). fk0(405 знак., 17.05.2013 18:43, MCU, полностью)
- Попробую просуммировавть свои мысли. U -- число сек. от старта программы, R -- текущее реальное время (в секундах) полученное от какого-либо источника, B -- время (реальное) момента запуска, S -- время последней синхронизации от момента пуска fk0(1369 знак., 20.05.2013 15:10)
- Если ты считаешь время от ВЧ кварца, значит у тебя где то есть некий счетчик (в прерывании?) который считает входные импульсы и при накоплении некоторого значения инкрементирует счетчик секунд. Ну вот и сделай этот порог изменяемым и меняй его в GDI(376 знак., 20.05.2013 11:04 - 11:06)
- это называется шаговый фильтр. заранее подбираешь минимально допустимый шаг и потом по знаку ошибки делаешь свой шаг в плюс или в минус. - LordN(18.05.2013 16:42)
- можно и без ПИД. Допустим с последней синхронизации прошло N сек, за это время накопилась ошибка dT сек. Значит каждые N/dT сек нужно добавлять или пропускать 1 сек. Разницу N/dT можно усреднять - постепенно ошибка приблизится с 0. - zeleny(18.05.2013 11:34)
- Не, ну ты засунул. "может получать реальное время(но не факт, что достоверное)". Какое - ж оно тады "реальное", если "не достоверное". Бля, "система единого времени" - так оно называлось в совке. И никто етого не отменял. а уж чо там за эталон tesla(36 знак., 18.05.2013 11:29 - 11:32)
- классика ТАУ: есть сигнал ошибки, есть регулируемая величина. возможное решение - ПИД (см. ссылки). правильно настроенные коэффициенты дадут приемлемую скорость без перегулирования. Snaky(87 знак., 18.05.2013 10:36, ссылка, ссылка)
- А надо ли вообще регулировать скорость собственного генератора? Можно записывать информацию о полученном реальном времени вместе со своей меткой времени, так получится привязка своего времени к реальному при разборе накопленной информации. AlexBi(193 знак., 17.05.2013 19:41)
- для коллеги сделал конвертилку битов bits_exchange, собсвенно делюсь - MegaJohn(20.05.2013 23:09, MCU, ссылка, полностью)
- мне нужно с микроконтроллера PIC16F8xx ( дивайс сделан на нем ) управлять частотным приводом мицубиси. Управление ЦАПом аналоговым сигналом не подошло- очень мощный шум идет. Хочу попробовать управление по RS485 каналу, по описанию возможно два aha(153 знак., 18.05.2013 13:22, MCU, полностью)
- Есть большой исходник на Сях (использовался gnu), где ссылки на массивы char (разные) пишутся в стиле "&massiv[0]" Как бы с наименьшими трудозатратами преобразовать их в исходнике к стилю "massiv" ? Hobo(153 знак., 17.05.2013 14:55, MCU, полностью)
- Хранение предыдущих значений... Как отказаться от буфера. mrengineer(415 знак., 11.05.2012 11:28, MCU, полностью)
- Использовать БИХ ФНЧ 2 порядка с управляемой частотой среза. Усреднение - весьма посредственный фильтр НЧ (АЧХ = sin(F)/F) - argus98(15.05.2013 17:23)
- А выбросы у Вас есть, может их сперва порезать можно, например, медианным фильтром, а потом уже фильтровать БИХом или КИХом ? - Хитрый Китаец(11.05.2012 22:54)
- Я примняю "Tau" филтер. Очень простой и быстрый. - johann(11.05.2012 14:16)
- зачем это нужно? Если для фильтрации, то используйте БИХ-фильтр вместо своего КИХ-фильтра, если задача позволяет произвести такую замену - koyodza(11.05.2012 13:49)
- Уточните условия задачи, а лучше расскажите, зачем всё это нужно. N фиксированное или нет? SciFi(100 знак., 11.05.2012 11:32 - 11:34)
- Осреднение данных. Раньше я каждый раз осреднял весь буффер. Теперь ушел от этого и сильно выиграл по времени. Но значение, полученное N вызовов назад по-прежнему нужно. mrengineer(70 знак., 11.05.2012 11:39)
- Если значения - это целые числа, то можно попробовать замутить арифметику с дельтами. Если не ошибаюсь, достаточно хранить три дельты: D(0, N), D(0, 1), D(N, N-1). - SciFi(11.05.2012 11:53)
- Если у вас считается скользящее среднее, то от буфера никуда не деться. Можно лишь применить некоторые приемы, сокращающие время вычислений. Во-первых, весь массив сдвигать не нужно. Изменяется лишь указатель (индекс) элемента буфера, указывающий rezident(398 знак., 11.05.2012 11:48)
- Буффер на N_макс_макс.И круги нарезать по N_макс_текущее. - PlainUser(11.05.2012 11:44)
- кольцевой буфер с переменной длиной не устраивает? - Vit(11.05.2012 11:44)
- Подскажите какой нить код с обнаружением 2 соседних ошибок в 3 битах. - Codavr(13.05.2013 11:11 - 11:13, MCU, полностью)
- хосподя...: argus98(292 знак., 13.05.2013 17:46)
- может сверточные коды помогут? Nikolay801_(66 знак., 13.05.2013 13:25)
- БЧХ 31*21 устроит? Исходники есть. - Visitor(13.05.2013 12:27)
- тройное дублирование - =AlexD=(13.05.2013 12:18)
- Я знал, что кто нить какую нить гадость предложит :) Может есть чего поэлегантнее? - Codavr(13.05.2013 12:19 - 12:22)
- Не нравится тройное, делай пятикратное :P - Гудвин(13.05.2013 12:23)
- Пытаюсь сообразить как будет работать Хэмминг (7.4) если 4 бит - сделать битом четности. Надо эксель доставать. - Codavr(13.05.2013 12:27)
- это называется расширенный код хэмминга (посмотреть хоть в вики можно) - ыыыы(13.05.2013 12:58,
)
- Расширенный -- это 8/4 (4 проверочных, 4 данных). А что хочет автор я пять раз перечитал и не понял. Возможно, ему подойдёт "транспонирование" кода Хэмминга -- когда вначале сообщение кодируется кодом хэмминга, а потом передаётся: младший бит fk0(353 знак., 13.05.2013 13:28)
- на коротких сообщениях коды с исправлением ошибок дают плохую производительность (отношение полезной информации к защитной очень мало) - Nikolay801_(13.05.2013 13:45)
- Надо передать 3 полезных бита. Длина всего сообщения должна быть разумная. Ну ограничим давай 8 битами (конечно хочется поменьше). В идеале мне нужно на приемном конце знать что 3 бита информации не содержат ошибку. Если они в последовательности Codavr(115 знак., 13.05.2013 13:37)
- Речь про обнаружение или исправление ошибок? Можно, например, передать каждый бит трижды последовательно: либо одиночные ошибки исправляются, либо двойные обнаруживаются (но не то и другое сразу). Если ошибки fk0(584 знак., 13.05.2013 13:58)
- Только обнаружение. Передача ШИМ с близкими длительностями 0 и 1. Впрочем хрен знает как это называется по правильному. Вобщем инвертирую полярность после каждого бита, а длительности битов нужны близкие. Поэтому велика вероятность инверсии Codavr(16 знак., 13.05.2013 14:06 - 14:10)
- кажется, что подойдет кодирование со стиранием - то есть 0, 1 и Х ну а поверх нее RS. если обнаруживать ошибку в RS муторная математика, то исправить стирание просто - ыыыы(13.05.2013 18:28,
)
- тогда наверно лучше хемминг(7,4) усеченный, отбосить один бит даных контрольные оставить, будет (6,3) Nikolay801_(23 знак., 13.05.2013 14:18)
- ну попробуй прикинуть что будет, если передавать 3 прямых + чётность + три инверсных + инверсия чётности, всякие сложные коды на 3х битах будут неэффективны. - =AlexD=(13.05.2013 14:16)