Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 30.05.2015, 15:24  
jump
Почётный гражданин KAZUS.RU
 
Регистрация: 20.06.2006
Адрес: Украина, Запорожье
Сообщений: 7,981
Сказал спасибо: 0
Сказали Спасибо 4,941 раз(а) в 2,370 сообщении(ях)
jump на пути к лучшему
По умолчанию Re: Микросхемы и инфа по 485 интерфейсу

Сообщение от fsmoke Посмотреть сообщение
работаю в крупной, очень известной конторе по производству железок
в гОВЕНЕ?
Реклама:
jump вне форума  
Непрочитано 30.05.2015, 15:28  
fsmoke
Прописка
 
Регистрация: 06.07.2010
Сообщений: 140
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
fsmoke на пути к лучшему
По умолчанию Re: Микросхемы и инфа по 485 интерфейсу

Сообщение от jump Посмотреть сообщение
в гОВЕНЕ?
не угадал
fsmoke вне форума  
Непрочитано 30.05.2015, 15:39  
GTK31
Гражданин KAZUS.RU
 
Регистрация: 17.02.2015
Сообщений: 636
Сказал спасибо: 182
Сказали Спасибо 229 раз(а) в 134 сообщении(ях)
GTK31 на пути к лучшему
По умолчанию Re: Микросхемы и инфа по 485 интерфейсу

Сообщение от fsmoke Посмотреть сообщение
Я так понял все они одинаковые - только фичами отличаются всякие защиты, дуплекс полудуплекс, питание. Ноги у всех одинаковые.

Тогда следующий вопрос - видел в инете разные схемы подключения у разных вендоров, которые работают с 485. Например у наших девайсов написано, что параллельно на клеммы A B надо сажать какое-то согласующее сопротивление в 620 Ом - для чего это? Может это зависит от длины линии. У других производителей нарисованы сопротивления только с одной стороны - типа терминаторы какие-то. Как правильно и с чем это едят? И, кстати, какая должна быть правильная обвязка вокруг этих микрух.
Драйверы все разные, но для тех кто понимает эту разницу.
По поводу терминаторов... Вот некрасиво посылать вас читать статьи по интерфейсу, но если бы вы это сделали самостоятельно то этот вопрос не задавали. А ведь на русском все давным давно расписано. В двух словах терминаторы ставят на окончаниях линий связи. При больших расстояниях 485 не рекомендуется топология звезды.
Насчёт обвязки. В связи со сферой применения обсуждапмого интерфейса основная проблема в жизни выгорание драйверов из-за перенапряжений вызванных молниями. Если все узлы вашей сети будут в пределах жилого помещения и протяженность линии связи будет малой, то можете по поводу защиты не заморачиваться.
GTK31 вне форума  
Непрочитано 30.05.2015, 15:46  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,558
Сказал спасибо: 182
Сказали Спасибо 3,155 раз(а) в 2,041 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Микросхемы и инфа по 485 интерфейсу

если расстояние до 10 метров - нихрена это все не нужно.
все эти терминаторы, растяжки и правильные провода нужны когда помехи вокруг, ддлина линии большая, скорость высокая

посоветую на каждой плате разместить резисторы смещения - две штуки. а запаять их только на одной например. или на каждой но впаять их не 1ком а по 100 ком - это надежнее. я лично всегда так делаю
таким образом если чо - шина не словит доп. помех и постоянно надежно находится в уровне логического ноля
так же везде ставяться терминаторы а запаивается терминатор только в начале и конце. или ставится джампер и включается только в самом конце.
но повторюсь - терминатор нужен при тяжелых условиях. если все рядом и скорость 9600 - оно нах не надо
вот схема = rfs - как раз смещение. на жаргоне - растяжка
вобщем на каждой плате делаешь три резистора как слева на схеме а впаиваешь только rfs две штуки

Последний раз редактировалось индюк; 30.05.2015 в 15:48.
индюк вне форума  
Сказали "Спасибо" индюк
fsmoke (10.06.2015)
Непрочитано 30.05.2015, 15:54  
fsmoke
Прописка
 
Регистрация: 06.07.2010
Сообщений: 140
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
fsmoke на пути к лучшему
По умолчанию Re: Микросхемы и инфа по 485 интерфейсу

Сообщение от индюк Посмотреть сообщение
если все рядом и скорость 9600
а если все рядом, а скорость высокая ~1мбит например?
fsmoke вне форума  
Непрочитано 30.05.2015, 15:55  
OakRidge
Почётный гражданин KAZUS.RU
 
Аватар для OakRidge
 
Регистрация: 16.05.2015
Адрес: Болгария
Сообщений: 1,460
Сказал спасибо: 286
Сказали Спасибо 1,125 раз(а) в 540 сообщении(ях)
OakRidge на пути к лучшему
По умолчанию Re: Микросхемы и инфа по 485 интерфейсу

fsmoke, если так задолбались подскажу. Есть такие штуки как PolyZen и подобные. PolyZen собствено на USB заточены, но идея стоящая.
OakRidge вне форума  
Непрочитано 30.05.2015, 15:58  
GTK31
Гражданин KAZUS.RU
 
Регистрация: 17.02.2015
Сообщений: 636
Сказал спасибо: 182
Сказали Спасибо 229 раз(а) в 134 сообщении(ях)
GTK31 на пути к лучшему
По умолчанию Re: Микросхемы и инфа по 485 интерфейсу

Терминатор часто делается на всех устройствах, но один его конец выводится на клеммы,чтобы при необходимости можно было при помощи перемычки включить его.
GTK31 вне форума  
Непрочитано 30.05.2015, 15:58  
индюк
Гуру портала
 
Аватар для индюк
 
Регистрация: 17.07.2010
Адрес: мурмурляндия
Сообщений: 10,558
Сказал спасибо: 182
Сказали Спасибо 3,155 раз(а) в 2,041 сообщении(ях)
индюк на пути к лучшему
По умолчанию Re: Микросхемы и инфа по 485 интерфейсу

Сообщение от fsmoke Посмотреть сообщение
а если все рядом, а скорость высокая ~1мбит например?
ну наверно терминатор пригодится. все равно он на плате уже есть. если плату по правилам сделать всетаки
чо обсуждать то???? епрстэ.......... собери платы по всем правилам а там начинай посылать и смотри на ошибки
не ошибается тот кто ничо не делает

индюк вне форума  
Непрочитано 03.06.2015, 23:17  
fsmoke
Прописка
 
Регистрация: 06.07.2010
Сообщений: 140
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
fsmoke на пути к лучшему
По умолчанию Re: Микросхемы и инфа по 485 интерфейсу

Начал таки ковыряться, но пока в протеусе и без прерываний на pic16f690 т.к. их у меня много - и уже столкнулся с какой то ерундой



проглатывается последний символ и стоповый бит



код простейший(пока на коленке - чуть чуть начал бить на файлики)

main.c:
Код:
#include ‹xc.h›

#include "rs485.h"

#define _XTAL_FREQ 20000000

//External oscillator 20Mhz
#pragma config FOSC = HS
//WDT disabled 
#pragma config WDTE=OFF
//Power-up Timer Enable bit
#pragma config PWRTE=ON
//MCLR pin function is MCLR
#pragma config MCLRE=OFF
// code protect
#pragma config CP=OFF
//data protect
#pragma config CPD=OFF
//Brown-out Reset Selection bits
#pragma config BOREN=ON
//Internal External Switchover bit
#pragma config IESO=OFF
//Fail-Safe Clock Monitor Enabled bit
#pragma config FCMEN=OFF


void main()
{
    OSTS = 1;
    SCS = 0;
	
    TRISA0 = 1;

    //pull ups
    nRABPU = 0;
	
    ANSEL = 0;
    ANSELH = 0;

    
	init_485();

#if 0
	//1000000
    BRG16 = 1;
    BRGH = 1;
    //SPBRGH:SPBRG = 4
    SPBRGH = 0;
    SPBRG = 4;
#else
	//~9600
    BRG16 = 0;
    BRGH = 0;
    //SPBRGH:SPBRG = 32
    SPBRGH = 0;
    SPBRG = 32;
#endif



	if (!RA0)
	{
		while (1)
		{
			const uint8_t a[] = {'H','e','l','l','o'};
			send_array_485(a, sizeof(a));
		   
			__delay_ms(1000);
		}
	}
	else
	{
		//implement receiver here
	}

    return;
}
rs485.h:
Код:
#ifndef RS485_H
#define	RS485_H

#define RS485_DIR_SW	B4

//FIXME temp
typedef unsigned char uint8_t;

void init_485();
void send_byte_485_int(uint8_t b);
void send_array_485(uint8_t const * st, uint8_t len);

#endif	/* RS485_H */
rs485.c:
Код:
#include ‹xc.h›
#include "rs485.h"

#define CAT(x,y)  x ## y
#define XCAT(x,y) CAT(x,y)

void init_485()
{
	XCAT(TRIS, RS485_DIR_SW) = 0;

	SYNC = 0;
           SPEN = 1;

	CREN = 1;
	TXEN = 1;
}

// Writes a character to the serial port
void send_byte_485(uint8_t b)
{
	XCAT(R, RS485_DIR_SW) = 1;
	send_byte_485_int(b);
	while(!TXIF);
	XCAT(R, RS485_DIR_SW) = 0;
}

void send_byte_485_int(uint8_t b)
{
	// wait for previous transmission
	while(!TXIF);
	TXREG = b;
}

void send_array_485(uint8_t const * st, uint8_t len)
{
	XCAT(R, RS485_DIR_SW) = 1;
	while (len--)
		send_byte_485_int(*st++);
	while(!TXIF);
	XCAT(R, RS485_DIR_SW) = 0;
}
fsmoke вне форума  
Непрочитано 03.06.2015, 23:29  
fsmoke
Прописка
 
Регистрация: 06.07.2010
Сообщений: 140
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
fsmoke на пути к лучшему
По умолчанию Re: Микросхемы и инфа по 485 интерфейсу

понятно что если вставить задержку,к примеру 100мс, перед выключением RS485_DIR_SW то все ок, но не хотелось бы опираться на какие то магические числа - или все же без этого не обойтись??

Добавлено
Взял, ради прикола, какую то библиотеку от ардуино - посмотрел как там сделано - там задержка 1 мс - поставил у себя 1мс - попрежнему все работает. Кто нибудь объясните мне теоретическую суть этой задержки. И различается ли она для разных микросхем?

Последний раз редактировалось fsmoke; 03.06.2015 в 23:54.
fsmoke вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача данных по линиям питания 12 В ТалалайАВ Автоматика и аппаратура связи 40 20.05.2016 12:01
Книги dosikus Делимся опытом 11242 29.12.2015 23:45
Где можно достать (найти или купить) datasheet на микросхемы, которые не получается найти в Интернете Дмитрий743 Информация по радиокомпонентам 1 15.04.2014 10:55
Увеличение выходной мощности микросхемы ICL7660CPAZ Андрей К Источники питания и свет 20 01.03.2011 10:44


Часовой пояс GMT +4, время: 18:08.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot