создам любой драйвер

Тема в разделе 'Разработка новых драйверов', создана пользователем электронщик, 14 апр 2009.

  1. EVIL_USER

    EVIL_USER Модератор Staff Member

    Нууу как сказать. У меня пока руки не дошли со всем этим разобраться на должном уровне.

    На каком-нибудь микропаскале наверное осилю, но пока не пробовал.

    На данный момент у меня есть ARDUINO. На ней осилю точно.
    Но тут есть некоторое западло.
    Во-первых, ног не хватает. Там 14 цифровых входов/выходов, 2 пойдут на последовательный порт, остаётся 12, одной не хватает. Придётся ещё одну микруху вешать, дешифратор какой-нибудь или счётчик. Ну или ещё как-то ноги экономить.

    Во-вторых, не каждому улыбается такую хрень покупать, а как зашить прошивку, написанную на виринге в голый контроллер, чёрт его знает. HEX файл он вроде делает, но зашивать его сторонним программатором я не пробовал и не встречал нигде чтобы кто-то пытался.
    Сам виринг это дело зашивает через ардуиновсий бутлоадер. Возможно придётся сначала зашить в контроллер этот бутлоадер, потом уже заливать нашу прошивку. Короче лишние танцы с бубном, за то пишется легко, как на бейсике)

    Arduino штука удобная, но сцуко тормозит развитие)

    И в третьих, взяться смогу несколько позже, диплом сцуко (где ещё 30 листов текста брать? :D ).
    Ну может и найду времени немного.
     
  2. suslox

    suslox Пушистикс Staff Member

    а зачем вообще нужны поекторы о которых вы говорите?я вообще нигде их не видел в деле
     
  3. Kiccer

    Kiccer Пользователь

    как зачем))это же лазерные эффекты на RGB :) (я думаю ни кто бы не отказался от такой красоты :) ) в инете куча видео
     
  4. suslox

    suslox Пушистикс Staff Member

    :) ну не знаю..видимо это не мое
     
  5. axis

    axis Модератор Staff Member

    Ну вот и тема попёрла!!!
    Вообще, я работал очень много с COM. Делал для нефтяников целые комплексы на контроллерах Rockwell, и скажу что сами терминалы обрабатывали полученную информацию, с интервалом в 1мкс(us) а сами контроллеры зачастую работают со скоростью 57600 bs(Бит секунду) Тоесть 57600 разделить на 8- Получиться что за секунду проходит 7200 команд!! А если работать со скоростью 115200 то вообще 14400!!! Ну конечно Это только кол во команд, В них ещё присутствует побочная и адресная информация, но даже если в секунду получим 5000 действий, я думаю не плохо.
    Вообще, конечно же с контроллером, особенно с о встроенной памятью, и небольшой логикой освобождающей и ограничивающей от ошибок- было бы не плохо! НО!!! Это всё очень сложно. Можно конечно и на PIC контроллерах всё замутить.
    Для наших целей думаю подошла бы обычная микруха MAX232.( Самай полный датащет http://www.datasheetcatalog.org/datashe ... MAX249.pdf)
    Глянте кто разбираеться. Может конечно я и ошибаюсь. Но было бы весьма не плохо, собрать хотябы просто управлялку ключём транзистора. Ну а если сделать ещё что нить посложнее- вообще была бы весчь!
     
  6. SviMik

    SviMik Новичок

    axis MAX232 - это просто конвертер из rs232 в TTL. Хотя, если хочешь зажигать светодиод, можешь и использовать...

    Я вот по производственной части умею только ПЛК программировать. У Siemens S7-200 один кадр сканирования - минимум 1мс (миллисекунда). Для автоматизации норм, для наших целей - никуда не годится.

    А что мы к этим стробирующим битам привязались? Ну понимаю для LPT, там они уже есть, но зачем искуственно такие извращения?

    Нельзя ли например так: МК выдаёт 5 выходов, на каждый шлёт по байту. И на каждую ногу уже вешаем по микросхеме, которая из байта последовательного делает 8 бит параллельный.
     
  7. INFERION

    INFERION Пользователь

    Это сложнее реализовать. Как внешние микрухи будут понимать где начало, а где конец слова? Возится с задержками? Да и буфер всё равно понадобится. Ведь на ЦАП нужно беспрерывно выводить слово и резко его обновлять целеком. А пока сдвиговый регистр будет набивать в себя нули и единицы - ЦАП с ума сойдёт... Т.е. К561ИР6 всё равно потребуется, если конечно же не найти сдвиговый регистр с уже встроеным буфером, но это геморойнее моего варианта всё равно. А как сам МК будет соображать на какой вывод ему слать инфу, если он ещё слово не принял. Складировать его в себе, затем читать и снова последовательно выводить?
    В моём варианте паралельный код выводит уже сам МК, а стробирование нужно для того, чтоб записывать эти слова в определённые ячейки внешней памяти - регистры на К561ИР6. По-моему и так довольно просто.
     
  8. SviMik

    SviMik Новичок

    Ну для МК несколько байт - не проблема.

    Я просто не понял, что ты по rs232 слать собрался? Я боюсь как бы не вышло много лишнего трафика.
     
  9. INFERION

    INFERION Пользователь

    Всё очень экономно. Один пакет - одна полноценная команда. Если я правильно понял протокол rs232, то там идёт пакет из 12-ти бит. 1-й стартовый, затем идёт само слово из 8-ми бит, а затем оно завершается битом чётности и двумя стоповыми битами. Вот три последних бита и используются в качестве команды. В эти 3 бита можно записать одну из 8-ми команд. Т.е. один пакет - одно действие.
     
  10. SviMik

    SviMik Новичок

    INFERION Я думаю что фиг ты этими битами управлять сможешь. Чётность и стоповый выбирается только при открытии порта. А уж стартовый тем более может быть аппаратно зашит.

    Думай в направлении "как использовать только последовательный поток".
     
  11. INFERION

    INFERION Пользователь

    Ну стартовый мне и ненужен, а вот на последние три бита только и надеюсь. Есть ещё какие-нибудь варианты? Можно, к примеру, синхронизировать это всё дело так, чтоб регистры поочереди записывали получаемые слова. Только всё равно нужен синхроимпульс хотя бы через каждые 5 слов. Можно использовать паузу между пакетами.
     
  12. SviMik

    SviMik Новичок

    А если так? Первый бит синхронизирующий, и шлём нечто вроде:
    1xxxxxxx
    0xxxxxxx
    0xxxxxxx
    0xxxxxxx
    0xxxxxxx
    0xxxxxxx
    Получаем чистых данных 42 бита. надо 5*8=40, и даже 2 ещё остаётся :)
    Либо даже так: Три канала 8-битных (на яркость) и два 9-битных (на X,Y).
     
  13. axis

    axis Модератор Staff Member

    Блин, так давно вся эта логика уже придуманна...
    Нужен микроконтроллер! Это однозначно!
    И обязательно контроль суммы, и обязательно адрес.
    Обязательно HEX!
     
  14. INFERION

    INFERION Пользователь

    Вот привязался к микроконтроллеру :D . Логика говоришь придумана давно? Где? С удовольствием взгляну на алгоритмы работы подобной системы.
    А микросхем стандартной логики у нас как гавна. Лопатой бери и загребай. И работают они шустрее МК. Их не надо шить вечно глючными прошивками. Да, плата получится в два раза больше, а это критично? Мне проще спаять более сложную схему, чем искать нужный контроллер и возится с прошивкой.
     
  15. suslox

    suslox Пушистикс Staff Member

    :!: полностью согласен...у меня такая же ситуация....я лучше с логикой поразбираюсь,чем буду программить...
     
  16. EVIL_USER

    EVIL_USER Модератор Staff Member

    Это ты просто не пробовал, только начни, тебя потом за уши не оттащишь)
     
  17. axis

    axis Модератор Staff Member

    Программить PIC контроллеры, сможет даже 9ти класник, а результат будет ОЧЕНЬ перспективным, учитывая что можно "На лету" перешивать и править, тем самым улучшая и затачивая индивидуально....
    А Логика работы с COM элементарна именно в данном случае.
    Например
    Адрес-Ячейка-Данные-Контрольная сумма.
    Что может быть проще? И гибче?
     
  18. suslox

    suslox Пушистикс Staff Member

    вообщето авр проще чем пик...
    я умею программить - хотя и не особо...авр на ассемблере :) но чтото там ломает...а вот на логику просто кончаю ;)
     
  19. EVIL_USER

    EVIL_USER Модератор Staff Member

    Ну, асм, это всё-таки на любителя, что-то серьёзное на нём делать несколько заёбисто. Но никто же не мешает на каком-нибудь извращении типа микропаскаля писать.

    Логика тоже жжёт, но я, помню как-то прикидывал как на ней бинарные часы сделать...что-то много у меня микрух получилось. Вот с тех самых пор и решил, что ну его нафиг. Имхо, логику разве что для экономии ног контроллеров юзать, а в голом виде она редко справляется.
     
  20. INFERION

    INFERION Пользователь

    Представляю на сколько меньше команд будет выполнть такая система за единицу времени. Одним пакетом уже не ограничишся. Кроме полезной информации прийдётся ещё и кучу лишних битов слать.

    Не спорю. За микроконтроллерами будущее, которое уже давно наступило. Но пока ещё их лучше не сорить с микросхемами стандартной логики. Они отлично вместе ладят. А МК я не пользуюсь наверное потому, что программировать их просто не умею :oops:.
     

Поделиться этой страницей