-
- ? dima83
- 06.01.2018 10:19
Проблемма в переносе кодов программы в pic-контроллер заключается в неправильном отображении их в программаторе ic-prog, а именно при попытке загнать бинарник в область памяти данных отображается следующее:
¤
00 02 08 00 C0 15 43 00 0E 88 FE 01
¤
поэтому пришлось каждый байт прописывать вручную при помощи mirage
¤
как бы упростить эту задачу?
- ? dima83
- 06.01.2018 08:49
ТЛГ протокол реализован на скорости 9600 бит/сек (даже чуть больше) всего по двум проводим ПРД и ПД между БК-0010-01 и PIC12f629. Доработка - подпаять провода от выв. 4 мс D12 до выв. B2 разъема XT5 (УП) и от выв. 13 мс D13 до выв. B3. Кроме этого с этого же разъема берется земля и +5 В для питания контроллера. "Загнана" простейшая программа:
¤
MOV #103,R0
Q: EMT 16
BR Q
¤
загрузка из монитора командой "L", запуск - командой "S"
Все работает.
- ? dima83
- 03.01.2018 16:03
Вот моя плата: http://www.fincoins.spb.ru/oldpc/bk/kaz-board.jpg
- ? dima83
- 03.01.2018 16:00
Кроме этого в модуле установлены 2 мс ОЗУ по 32 кб каждая, т.е. в сумме 64 кб (хотя вроде ставятся разные объемы памяти судя по отзывам). Как ним обращаться программно, с какого адреса они начинаются?
- ? dima83
- 03.01.2018 15:39
В некоторых контроллерах КНГМД зашивали ОС. А в данном контроллере есть что то подобное? Если я его включу безо всяких дисков и флешек что я увижу на экране?
- ? dima83
- 03.01.2018 14:34
Еще один листинг, где происходит прием файла по команде "Л" из монитора. Обратите внимание, что вначале БК принимает произвлольный бай из линии, а затем возвращает его назад в линию.
¤
; -----------------------------
; ** 1. ЧТЕНИЕ ФАЙЛА С ЛИНИИ **
; -----------------------------
¤
PCTTLG: EMT PRBYT ; УСТАНОВКА СВЯЗИ
EMT PDBYT
¤
MOV #BUFSTA,R1 ; ПРИЕМ АДРЕСА И ДЛИНЫ
MOV #4,R2
EMT PRMAS
TST R5
BEQ 1$
MOV R5,BUFSTA
¤
1$: MOV BUFSTA,R1 ; ПРИЕМ МАССИВА
MOV BUFDL,R2
EMT PRMAS
JSR R5,PPCT ;- ПЕЧАТЬ СООБЩЕНИЯ
.WORD TFZ
¤
RTS PC
- ? dima83
- 03.01.2018 14:30
БК-0010-01 две микрухи возле магнитафонного реле, одна АП2 другая ир1
- ? dima83
- 03.01.2018 12:47
Сегодня нашел в схеме ошибку! Не 1 вывод, а 4й! А я туда и землю и +5 В пихал! И как там только ничего не сгорело удивляюсь!)
- ? dima83
- 02.01.2018 13:24
Еще есть вопрос по поводу мс D12, лог.0 устанавливается на ее входе 1 закорачиванием на землю (37 mA), а как быть с лог.1 ? Просто отпустить или подтянуть к питанию?
- ? dima83
- 02.01.2018 07:59
Но вопрос в том, что стартовый бит не может быть подан до установки готовности приема! А готовность приема будет установлена только после принятия стартового бита! Получается что и приемник и передатчик будут ждать...???
- ? dima83
- 02.01.2018 07:56
Далее нужно передать байт.
Изучение листингов драйвер-мониторной системы показало, что:
¤
; ===========================
; *** БЛОК ПЕРЕДАЧИ БАЙТА ***
; ===========================
¤
¤
BPDB: MOV R0,-(SP)
MOV R4,-(SP)
¤
BIS #1400,R0 ; ПОДГ. ПАРАМЕТРОВ
MOV #13,R4
¤
6$: BIT #200,@#ASPORT ; ОЖ. ГОТОВНОСТИ
BEQ 6$
¤
CLC ; УСТАНОВКА БИТА
BR 1$
4$: ASR R0
1$: BCC 2$
MOV #KTLG1,@#ASPORT
BR 3$
2$: MOV #KTLG0,@#ASPORT
BR 3$
¤
3$: MOV DLBIT,R5 ; ЦИКЛ ПЕРЕДАЧИ БИТА
5$: SOB R5,5$
¤
SOB R4,4$
¤
MOV (SP)+,R4
MOV (SP)+,R0
RTS PC
¤
Байт (в том числе стартовый бит) передается только после приема сигнала готовности принимающей стороны. Всего передается 11 байтов: стартовый байт (лог.0), собственно байты (0-7) и два стоповых байта (лог.1)
¤
¤
; ===============================
; ***** МОДУЛЬ ПРИЕМА БАЙТА *****
; ===============================
¤
¤
; ВЫХОД: R0 - МЛ. БАЙТ
¤
¤
MPRBYT:
¤
¤
; =========================
; *** БЛОК ПРИЕМА БАЙТА ***
; =========================
¤
¤
BPRB: MTPS #0 ;- РАЗРЕШЕНИЕ ПРЕРЫВАНИЙ
MOV R3,-(SP)
MOV R4,-(SP)
¤
MOV #ASPORT,R3 ; ПОДГ. ПАРАМ.
MOV #20,R4 ;- СЧЕТЧИК БАЙТА
CLR R0
¤
1$: BIT R4,(R3) ; ПОИСК СТАРТОВОГО БИТА
BEQ 1$
11$: MOV #260,(R3) ;- УСТ. ГОТОВН. ПРИЕМА
BIT R4,(R3)
BNE 11$
MTPS #200 ;- ЗАПРЕТ ПРЕРЫВАНИЙ
¤
MOV DLBIT,R5 ; ПОИСК СЕРЕД. СТ. БИТА
ASR R5
2$: SOB R5,2$
ASR R4
¤
6$: MOV DLBIT,R5 ;- ЧТЕНИЕ БАЙТА
3$: SOB R5,3$
BIT #20,(R3)
BNE 4$
CLC
BR 5$
4$: SEC
BR 5$
5$: RORB R0
SOB R4,6$
MOV #220,(R3) ;- СБРОС ГОТОВН. ПРИЕМА
¤
MOV (SP)+,R4
MOV (SP)+,R3
RTS PC
¤
На принимающей стороне байт принимается только после приема стартового бита, установки готовности приема и приема инверсного стартового бита (в моем случае это подтверждается сначала закорачиванием выв. 1 D12 на землю, а затем его отпусканием)
- ? dima83
- 02.01.2018 07:42
Но, к сожалению пока ничего путного не получилось.
В ходе исследования с помощью осциллографа удалось установить следующее:
1. При вводе из "монитора" команды "L"(Линия) на выводе 1 мс D12 (чтение байта с линии) формируются импульсы лог.0 (0В) длительностью 2-4 мкс периодичностью 20 мкс, в интервалах между импульсами на линии лог.1 (5В).
2. При подче на вывод 1 мс D12 вначале лог "0", а затем снятии на выводе 12 мс D13 (готовность к приему) формируется лог "0", т.е., как я понимаю, это признак готовности к приему байта.
- ? dima83
- 02.01.2018 07:05
А ТЛГ-протокол давйте обсуждать тут: http://bk0010.org/forum/?id=30035
- ? dima83
- 02.01.2018 07:04
У меня возникла необходимость загружать в свою БКшку небольшие программки. Я решил использовать для этой цели ТЛГ-канал. Однако возникла сложность, так как допоять провода до выводов оказалось недостаточно. Загружать программы в бк я планировал с помощью пик-контроллера (опыт программирования пиков у меня есть). На данный момент я реализвал определение готовности и к приему информации пиком без использования вывода "готовность приемника", т.е. определение идет по анализу с линии "прием данных". Для простоты я решил загнать в БК вот таку програмку:
¤
MOV #103,R0
Q: EMT 16
BR Q
- ? dima83
- 02.01.2018 06:53
С наступившим Новым Годом! Всех благ!
Схемы это хорошо, но хотелось бы чего то вроде "Руководства пользователя".
- ? dima83
- 30.12.2017 16:35
BD http://bk0010.org/forum/?id=30014
- ? dima83
- 30.12.2017 16:34
Хотелось бы получить больше информации об этой разработке собственно от самих разработчиков и от тех, кто ею пользуется.
- ? dima83
- 30.12.2017 16:24
если сможешь собери мне всю информацию по ней, ато я же весь мозг вынесу))
- ? dima83
- 30.12.2017 16:22
то, что ты уже отмечаешь я понял
- ? dima83
- 30.12.2017 16:11
BD Дим, но согласись, это же можно было описать? У него есть свой собственный програмный интерфейс? Как он работает? Или это тупо контроллер обращения к накопителям?
- ? dima83
- 30.12.2017 15:57
Ну это уже идиотизм собирать клоны на аврах!
А вам, разработчикам, не приходило в голову, что лучше бы все таки сделать автозагрузку, ато ведь s160000 не каждому под силу запомнить! Ведь сколько раз обсуждалось, что можно заблокировать ПЗУ Бейсика и передать автоматом управление на системную шину по адресу 120000?
- ? dima83
- 30.12.2017 15:32
BD загружаться с ANDOS так же командой S160000 ? Или он может автоматически загружаться?
- ? dima83
- 30.12.2017 15:29
BD Вот скажи мне пожалуйста если у меня нет ни дисковода, ни жесткого диска я могу полноценно с твоей флешки 4Gb работать?
- ? dima83
- 30.12.2017 15:27
Спасибо, конечно, но я не пью. Там нет ничего сложно, я вчера глянул на листинги драйверных модулей, я так жа в пиках прописывал, только мнемоника немного другая.
- ? dima83
- 30.12.2017 14:50
А еще тов. Николаев ни как не мог понять, что ик-диод пульта излучается не линейно, а дискретно, т.е. двойная модуляция - протокол NEC + несущая частота. Эх, беда с этими главными редакторами. Наболело!
- ? dima83
- 30.12.2017 14:47
Правда последнюю мою статью не приняли. У тов. Николаева возник вопрос по поводу терминологии "передний фронт и задний фронт", и как я не пытался ему доказать ( в виде чертежей и графиков), что передний фронт это нарастающий, а задний это спадающий, он был не приклонен.
- ? dima83
- 30.12.2017 14:44
Как то я пару статей написал на Радиолоцман, так я настолько все подробно разжевал, что у редактора не было ко мне никаких вопросов. И вообще надо стараться ориентироваться на самого "глупого")
- ? dima83
- 30.12.2017 14:39
Вобщем документ типа Руководства системного программиста Для БК
- ? dima83
- 30.12.2017 14:36
А вообще без дисковода обойтись нельзя? Возможна ли работа на оссемблере с БК0010-01 при использовании данного блока? Возможно ли сохранение файлов (в том числе с бейсика)
- ? dima83
- 30.12.2017 14:34
BD описание то есть конечно, но оно, как бы сказать, сугубо техническое
Хотелось подробно, типа при включении на дисплее отображается то то, происходит инициализац я и загрузка того то ... Потом вы мне писали, что необходим дисковод, что нужно скопировать что то на него... а где объяснения зачем для чего? Говорят, что на нем ОЗУ разное установлено... и тд....
- ? dima83
- 30.12.2017 13:43
MM тут скорее вопрос спортивного интереса, как бы сказать "открыть окно для БКшки во внешний мир", т.е. собрать устройство способное одновременно обмениваться информацией с БК и хранить в себе пользовательские файлы. Ну даже теоретически если бы у меня и была плата ИРПС, она же сама по себе бесполезна, т.е. к ней нужно подключать другой компьютер и у же с него загружать проги в бк?
BD а у вас хотел спросить нет ли на этом форуме ветки посвященной SMK64?
- ? dima83
- 30.12.2017 08:38
Вернемся к протоколу передачи: коль уж готовность принимающей стороны в нашем случае игнорируется (хотя сигнал готовности приема на най все же сформируется), то имеем дело только с двумя линиями ПрД - прием данных и ПД - передача данных. Но в моем случае передатчиком будет пик-контроллер, который должен как то узнать о начале приема. Можно, конечно, поставить какую-нибудь кнопочку и нажимать на нее для старта заргузки.
Но, думаю, что можно сделать проще и интереснее. Я заметил, что после подачи команды "Л" на линии приема (выв.1 D12) появляется сигнал, а именно возникают импульсы (лог.0) длительностью 2-3 мкс с периодом следования 20 мкс. В интервалах между прохождением импульсов на линии лог "1". Думаю, что эти импульсы (не знаю откуда они берутся) и будут являться признаком того, что принимающая сторона готова к приему.
- ? dima83
- 30.12.2017 08:13
Стоповый бит игнорируется.
- ? dima83
- 30.12.2017 08:12
Кроме того хочу обратить внимание, что принимается не 8 бит, а 16 (т.е. 2 байте за один сеанс)
- ? dima83
- 30.12.2017 07:58
Итак отчитываюсь о вчерашней проделанной работе:
Подтверждаю слова тов. gid, что при вводе "Л" Бк ничего не передает, а только принимает - на выв. 13 мс D13 - полная тишина. Далее, из листингов протокола обмена, а так же с учетом того, что сигнал готовности с линии (готовность к приему) (выв. 12 D12) притянут к земле понятно, что сначало нужно запустить команду "Л" на принимающей стороне, а затем начатать передачу (как уже это сделать другой вопрос) на передающей стороне. Так же стало понятно, что в процессе приема байта сигнал готовности к приему на принимающей стороне (выв. 12 мс D13 - переход из "1" в "0") сформируется только после приема стартового бита, далее приемник будет ждать окончание стартового бита и только после этого начнет делать выборку по усредненному значению времени длительности бита (по скорости 9600 бод).
- ? dima83
- 30.12.2017 07:41
С Наступающим Вас Праздником Нового года!
Спасибо BD за ссылку, но вп1-065 наврятли сейчас где-либо можно найти.
А вот контроллеро пик и атмега море.
- ? dima83
- 29.12.2017 16:24
В любом случае я проверю это
- ? dima83
- 29.12.2017 16:06
Так и хочется спросить откуда же Вы узнали про 12ю ногу ис D12? Это прям военная тайна какая то)
- ? dima83
- 29.12.2017 14:09
прокомментируйте пожалуйста следующие строчки:
¤
PCTTLG: EMT PRBYT ; УСТАНОВКА СВЯЗИ
EMT PDBYT
- ? dima83
- 29.12.2017 14:05
сорри, нашел!
- ? dima83
- 29.12.2017 14:03
я скачал архив, но этого у меня нет. дайте прямую ссылку пожалуйста
- ? dima83
- 29.12.2017 13:00
Сейчас просмотрел файл D6, где описываются комманды работы с тлг и пришел к выводу, что ввод команды "L" из монитора приводит к последовательному выполнению команд: EMT40, EMT42 и EMT 44
- ? dima83
- 29.12.2017 12:18
Кажется я допер (если что, то подправьте). Регистр управления внешними устройствами 177716 имеет выход на внешние устройства (разряды: 4-7).выходной регистр:
Разряд 4 используется для передачи инфы на линию (исх. сост-е "лог 1") - по схеме это будет вывод 13 мс D13.
Разряд 5 - передача инфы на м-фон либо сигнала готовности на линию (исх. сост-е "лог 0") - вывод 11 или 12 мс D13
¤
входной регистр:
¤
Разряд 4 - чтение информации с линии вывод 1 D12
Разряд 7 - чтение сигнала готовности с линии (т.е. 12 вывод мс D12 которая посажена на землю"
- ? dima83
- 29.12.2017 12:03
Но перед тем, как БК начнет что-то принимать произойдет инициализация ТЛГ канала, которая сведится к предаче произвольного байта в линию и приема оного обратно в БК (Руководство системного программиста стр.23).
- ? dima83
- 29.12.2017 10:24
Так значит 12 нога D12 определяет готовность удаленного приемника к приему информации от бк? Если он "на земле" БК считает, что приемник готов и начинает передавать... Стало быть если я встану осциллографом на 13 ногу D13 и введу из монитора комманду "L", то я увижу последовательную передачу произвольного байта?
- ? dima83
- 29.12.2017 08:22
Вчера открыл свою БКшку в поиске портов для ТЛГ. Нашел ПРД (прием данных) D12(1) и ПД (передача данных) D13 (13), а линии сигналов готовности найте не смог.
- ? dima83
- 26.12.2017 14:52
Теперь давайте разберемся с портами ТЛГ канала. По схеме, вроде бы, эти порты находятся составе порта ввода-вывода, а именно (ПРД-перемычка S2-РЕ31-В2), (ПД-перемычка S3-РЕ32-В3), есть еще ПРТ Н-В1 и СБРОС Н-А1. Так какие из них предназначены для приема и передачи информации, а какие для приема и передачи сигналов готовности. И еще каким образом кодируются биты информации?
- ? dima83
- 26.12.2017 14:43
Подружить контроллер с USB-флешью это моя мечта. Только материала по этому вопросу чрезвычайно мало.
- ? dima83
- 26.12.2017 12:56
Исходя из того, что обмен по системной шине реализовать достаточно трудно ввиду сложности и объемности самой шины, то можно придумать что то типа этого по ТЛГ каналу. В принципе выход в монитор из бейсика командой "MO" и загрузка программы загрузчика через ТЛГ канал командой "L" тоже не сложные операции. Ну а далее будет запускаться программа, обеспечивающая доступ к остальным файлам...
- ? dima83
- 26.12.2017 11:09
Значит, как я понял, работа с ТЛГ заключается в принципе "что есть на линии, то и загружаем" ни какого выбора нам не предоставляется. А если, допустим, я работаю в ассемблере, например в турбо, я могу сохранять файл по ТЛГ? Или если пишу прорамму в бейсике?
-
«
1 | ... | 4 | 5 | 6 | 7 | 8 | »
?