

lyaksandrov
Участник-
Content Count
16 -
Joined
-
Last visited
Community Reputation
0 ОбычныйAbout lyaksandrov
-
Rank
Участник
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
lyaksandrov started following Конфигурируемый приемник RS-232
-
Конфигурируемый приемник RS-232
lyaksandrov replied to lyaksandrov's topic in Языки проектирования на ПЛИС (FPGA)
Вообщем много что перечитал, попробовал сделать, вроде что-то получилось, но не знаю так ли это должно работать))? Делал со скоростью 57600 module RS232Receive( input clk, input rx, output reg [5:0] data, //liniya dannix output reg dataReady, //liniya gotovnosti output reg error //signal oshibki ); parameter Idle = 2'b00; //ojidanie parameter StartBit = 2'b01; //startbit parameter DataBit = 2'b10; // bit dannix parameter StopBit = 2'b11; //stopbit parameter Divider = 16'd278; //delitel schetchika reg [3:0] state, nextState; //registri sostoyaniya 1 tekyshee i 2 sledyeshee reg [3:0] bitCount; //schetchik bit reg [8:0] tickCount; //schetchik impylsov kvarcovogo generatora reg [5:0] rData; //reg sbora prinyatogo bayta initial begin //NASHALNOE SOSTOYANIE REGISTROV state = Idle; nextState = Idle; rData = 0; bitCount = 4'b0000; tickCount = 0; error = 1'b0; end always @(posedge clk) //po perednemy fronty taktovogo signala prisvaivaem tekyshemy sostoyaniya begin state = nextState; case(state) //sostoyanie ojidaniya Idle: begin rData = 8'h00; //sostoyanie ojidanie sbrasivaem registr prinyatogo bayta tickCount = 0; bitCount = 4'b0000; error = 1'b0; if (rx == 1'b0) begin nextState = StartBit; end //esli na vhode 0, to sledyysheem sostoyaniem bydet startbit end StartBit: begin //shitaem impylsi, esli ih polovina ot vsei dlitelnosti bita to proveryaem sostoyanie linii dannix tickCount = tickCount + 1; if (tickCount[8:0] == Divider[15:1]) begin if (rx == 1'b0) //esli 0 to oshibki net begin error = 1'b0; end else begin error = 1'b1; //esli 1 to oshibka i perehodim s sostoyanie ojidaniya nextState = Idle; end end else if (tickCount == Divider) //esli doshitali do konca bita, to sbrasivaem chetchiki i perehodim v sostoyanie priema begin tickCount = 0; nextState = DataBit; end end DataBit: begin tickCount = tickCount + 1; if (tickCount[8:0] == Divider[15:1]) //takje schitaem do chentra bita begin rData[bitCount] = rx; // v registr ykladivaem kajdii schitaniy bit bitCount = bitCount + 1; //shitaem biti end else if (tickCount==Divider) // kak doshli do konca bita begin tickCount = 0; //sbrasivaem schetchik esli prishlo eshe ne 6 bit to ostaemsya tyt je if (bitCount == 6) begin bitCount = 0; nextState = StopBit; end //esli prishlo 6, to perehodim k priemy stop bit else nextState = DataBit; end end StopBit: begin tickCount = tickCount + 1; if (tickCount[8:0] == Divider[15:1]) begin if (rx == 1'b1) //proverka sostoyaniya vhodnoi linii, esli 1 to vse OK, esli 0 to oshibka begin error = 1'b0; data = rData; //vistavlyaem na vihod registr prinyatogo bayta dataReady = 1'b1; //signal gotov end else begin error = 1'b1; //oshibka dataReady = 1'b0; nextState = Idle; //perehodim v ojidanie end end else if (tickCount == Divider) begin dataReady = 1'b0; tickCount = 0; nextState = Idle; end end default: state = Idle; endcase end endmodule //////////////////////////////////////////// module RS232Receive_tb; reg clk; wire [5:0] data; wire dataReady; wire error; reg rx; RS232Receive r( .clk(clk), .data(data), .dataReady(dataReady), .error(error), .rx(rx) ); always #5 clk = ~clk; initial begin clk = 0; #5; rx = 1; #520800; rx = 0; #52080; //start rx = 0; #52080; rx = 1; #364560; rx = 1; #260400; end endmodule -
Конфигурируемый приемник RS-232
lyaksandrov posted a topic in Языки проектирования на ПЛИС (FPGA)
Всем, привет. Сразу скажу, что в проектировании на ПЛИС я полный 0. Но выпала такая потребность (для учебы) создать приемник rs 232. Посмотрел много всего, но так и не разобрался и ни один код не заработал. Требуемые параметры 16 МГц Скорости 57600 и 115200, Бит четности Odd 6. Может кто направить или подсказать с чего начать делать? Возможно у кого-то есть свои наработки. Язык использую Verilog. -
Подключение нескольких ЦАП к СТМ32
lyaksandrov replied to lyaksandrov's topic in ARM, 32bit
Независимые каналы должны быть, тк течет ток и снимается напряжение по 4х проводной схеме измерения сопротивления -
Подключение нескольких ЦАП к СТМ32
lyaksandrov replied to lyaksandrov's topic in ARM, 32bit
Где можно посмотреть или почитать как и куда подключать sync к микроконтроллеру? -
Подключение нескольких ЦАП к СТМ32
lyaksandrov replied to lyaksandrov's topic in ARM, 32bit
ЦАПы все одной разрядности, если можно, можете поподробнее про SYNC и GPIO? Это значит просто подключать их к пинам у которых тип I/O? Все 8 пинов MOSI ЦАПА подключать к одному пину MOSI (PA7) микроконтроллера? Так будет правильно? -
Подключение нескольких ЦАП к СТМ32
lyaksandrov posted a topic in ARM, 32bit
Всем привет, возник вопрос как подключить 8 отдельных ЦАП (AD5621BKSZ-500RL7) к микроконтроллеру stm32f103c8t7? -
Помогите разобраться с ОУ
lyaksandrov replied to lyaksandrov's topic in Схемотехника
Нужно доработать эту, понять почему напряжение смещается, а не остается в 0 -
Помогите разобраться с ОУ
lyaksandrov posted a topic in Схемотехника
Всем привет, хочу понять, почему так ведет себя схема на ОУ, а именно есть генератор импульсных сигналов от 0 до 3В, при подаче на 1 усилитель я меняю среднюю точку на 10В, далее сигнал попадает на 2 усилитель, где усиливается сигнал от 0 до 20В, затем идет на преобразователь напряжения в ток. Но когда меняю на генераторе импульсных сигналов напряжение от 0.5 до 2.5В, то есть оставляю среднюю точку 1.5В, затем подаю сигнал на 1 усилитель, тем самым поднимаю среднюю точку до 10В, далее когда сигнал переходит на 2 усилитель и усиливает сигнал от 2.45 до 16.45В. И самое главное вопрос! почему сигнал не остался в 0, а сместился до 2.45В, и как-нибудь можно это исправить, чтоб он оставался в 0? -
ПНТ преобразователь напряжения в ток
lyaksandrov replied to lyaksandrov's topic in Схемотехника
Tanya вроде про нагрузку все сказал, она изменяется от 5кОм до 15кОм, куда подключается? Я ответил что нагрузки это R8 и R10, можете посмотреть рисунок схемы. Точность и скорость не важно на данном этапе, сейчас мне требуется коррекция схемы, для этого я попутно задаю требуемые вопросы. Если я буду писать хочу сделать прибор, который от микрухи берет генерируемые импульсные сигналы, затем, усиливает их, и подает их в нагрузку. Усиливает так, чтоб ток в нагрузке мог быть от 0.1мА до 2мА с учетом плавающей нагрузки, которая не должна влиять на ток, так лучше будет? -
ПНТ преобразователь напряжения в ток
lyaksandrov replied to lyaksandrov's topic in Схемотехника
Еще появился один вопрос. Когда подаю импульсы от 0 до 3 вольт, на выходах out2 и out3 (смотри схему) напряжения от 0 до 20В. Но когда меняю начальные импульсы от 1.5 до 4.5 вольт, на выходе out3 напряжение становится от 0 до 10В, а на out2 от 10В до 20В. Почему так происходит, и как мне сделать на выходе out2 такое же напряжение как на out3?? -
ПНТ преобразователь напряжения в ток
lyaksandrov replied to lyaksandrov's topic in Схемотехника
Понял, 20 не хватит, значит буду думать где брать еще Возможно сделать так, что бы нагрузка была одна и в ней был ток от -2 до 2 мА? Возможно использовать диф усилитель или еще что нибудь? -
ПНТ преобразователь напряжения в ток
lyaksandrov replied to lyaksandrov's topic in Схемотехника
Немного не понимаю, почему V1 5В а V2 35?, в моей схеме к сожалению могу выдать только 20В В своей схеме использовал ту же схему, что и вы предоставили -
ПНТ преобразователь напряжения в ток
lyaksandrov replied to lyaksandrov's topic in Схемотехника
я пробывал сделать, тоже самое только на диф усилителе, там будет 1 резистор нагрузки с током от -2мА до 2мА, но при его изменении менялся ток, что очень плохо( -
ПНТ преобразователь напряжения в ток
lyaksandrov replied to lyaksandrov's topic in Схемотехника
Нагрузка R8 и R10. -
ПНТ преобразователь напряжения в ток
lyaksandrov replied to lyaksandrov's topic in Схемотехника
у меня есть схемка, но я не знаю правильно ли она работает. Еще есть один вопрос по поводу датчика тока, для нагрузки. Хилла читал, но не получается, сделать данный датчик. Переискал весь интернет, но везде схемы с заземленной нагрузкой.