Приемопередатчики для сетей CAN производства NXP, Texas Instruments и Maxim

 

CAN. Промышленная сеть CAN

CAN (Controll Area Network) — открытый протокол последовательной связи, который определен на физическом и канальном уровнях, получил развитие на пользовательском у ровне и утвержден в качестве стандарта ISO 11898.

Рис. 11.4. Структур стандартного фрейма данных

На рис.11.4 приняты следующие обозначения:

SOF — старт фрейма: один доминирующий бит.

Поле арбитража – в структуре расширенного фрейма количество бит идентификактора увеличено до 29 и добавлены два служебных бита. RTR – бит, которым сообщение определяется как фрейм данных или как удаленный фрейм.

Поле Управляющее содержит 6 бит, из которых 4 бита DLC определяют количество байт данных в поле данных, а биты- IDE и R(0) зарезервированы для развития.

Поле данных — содержит до 8-ми байт данных.

CRC – 15 бит контрольной суммы, обеспечивающие высокий уровень достоверности передачи сообщений.

Поле АСК — поле подтверждения правильного приема сообщения.

EOF– поле конца фрейма. В нем передаются 7 рецессивных бит.

Int и BI — соответственно обязательный интервал между фреймами и уровень свободной шины.

По окончанию фрейма на шине в течение интервала времени Int, который не может быть меньше 3-х бит, удерживается сигнал высокого уровня для отделения переданного фрейма от следующего. Если после завершения передачи фрейма шина остается свободной, то на ней удерживается сигнал BI высокого уровня.

2)Структура и назначение служебных фреймов: Удаленный фрейм предназначен для выполнения запроса удаленной передачи от одного узла на передачу данных другим узлам сети. Его структурное отличие от фрейма данных состоит в отсутствии поля данных. Фрейм ошибок и фрейм перегрузки содержат по два поля: в первом располагаются флажки ошибок и служебная информация, а во втором передаются восемь рецессивных битов разграничения.

3) Организация достоверной передачи сообщений в сети CAN

Контроль достоверности приема сообщения осуществляется в поле подтверждения АСК (acknowlegment – подтверждение), которое содержит два участка: ACK-Slot и ACK –Delimiter (рис.11.5.):

 Структура поля АСК

Сегмент подтверждения ACK- Slot Сегмент разграничителя ACK- Delimiter

Рис. 11.5. Структура поля АСК

Принцип подтверждения состоит в том, что передающий узел посылает в обоих сегментах АСК рецессивные биты и одновременно отслеживает состояние сигнала на шине. Приемник анализирует СКС принимаемого фрейма: если будет установлено, что сообщение недостоверно, то состояние приемник не изменяет уровень сигнала в АСК-Slot, но если будет установлен достоверный прием сообщения, то приемник в секторе АСК-Slot выставляет доминирующий бит. При наложении рецессивного бита передатчика и доминирующего бита приемника в линии установится доминирующий бит, подтверждающий передающему узлу, что сообщение принято и повтор не требуется. Таким образом, если низкий уровень сигнала принять за логическую «1», а высокий – за логический «0», то в поле АСК будут передаваться сигналы: 10 – если подтверждение получено или 11 если подтверждение не получено.

Протокольно в CAN реализуются следующие механизмы обнаружения ошибок, которые возникают при передаче сообщения:

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

— Ошибка подтверждения возникает, когда передатчик определяет, что сообщение не было подтверждено.

— Ошибка заполнения появляется, когда узел обнаруживает шесть (6) последовательных битов одного и того же значения. В процессе нормальной работы, когда передатчик обнаруживает, что послано пять (5) последовательных битов одного и того же значения, то он заполняет следующий бит противоположным значением (это называется заполнением бита). Все приемники удаляют заполненные биты до вычисления CRC (контрольного кода). Таким образом, когда узел обнаруживает шесть (6) последовательных битов того же значения, возникает ошибка заполнения.

— CRC ошибка выявляется, когда вычисленное приемником значение CRC принятого сообщения не соответствует значению CRC, указанному в сообщении.

Когда активный узел обнаруживает одну из указанных выше ошибок в передаче сообщения, то он передает активный фрейм ошибки, который состоит из шести (6) последовательных доминирующих битов. Такая передача отменит любую другую передачу, проходящую в то же самое время, и заставит все другие узлы обнаружить ошибку наполнения, которая, в свою очередь, заставляет их отбрасывать текущий фрейм.

4) Принцип организации взаимодействия устройств в сети CAN существенно отличается от других тем, что в ней используется децентрализованный принцип передачи сообщений, в котором для исключения состязаний за право передачи сообщения каждому сообщению присваивается определенный приоритет: он определяется значением идентификатора в поле арбитража. На основе идентификатора реализован механизм арбитража при выявлении конфликтов доступа к шине.

Управление доступом к CAN- шине состоит в том, что сообщение, передаваемое одним из CAN-устройств (узлом сети), рассылается сразу всем другим CAN-устройствам подключенным к линии связи (узлам сети). По этой причине все узлы CAN-сети непрерывно контролируют состояние уровня сигнала в шине.

Любое CAN-устройство может начать передачу фрейма только тог-да, когда линия связи не занята передачей сигнала. Если CAN-устройство начало передачу сообщения, то оно будет владеть шиной до завершения этой передачи. Если два или больше CAN-устройств одновременно попытаются начать передачу сообщения, то возникает конфликт, решение которого осуществляется арбитражным путем с использованием 11-битного идентификатора стандартного фрейма или 29-битного идентификатора расширенного фрейма: право на передачу фрейма получит тот узел, который передает сообщение с более высоким приоритетом.

Читайте также  ПРОМЫШЛЕННАЯ МАРКИРОВКАОБОРУДОВАНИЕ. ТЕХНОЛОГИИ. РЕШЕНИЯ

Механизм арбитража состоит в следующем. В течение передачи поля арбитража биты идентификатора последовательно передаются в линию связи, начиная от старшего значещего к младшему. В процессе выполне-ния передачи CAN-устройство одновременно и формирует в линию связи сигнал требуемого уровня (CAN_L/CAN_H), и контролирует состояние си-гнала в линии связи, сравнивая: соответствует текущее значение сигнала в линии связи сформированному значению?

Если CAN-устройство сформировало в линию связи сигнал высокого уровня CAN_H и в линии связи установился сигнал CAN_H, то устройство продолжает передачу фрейма. Если CAN-устройство сформировало в линию связи сигнал высокого уровня CAN_H, а в линии связи будет установлен сигнал низкого уровня CAN_L, устройство должно прекратить передачу в линию связи своего сигнала. При одновременном формировании в линию связи сигналов с высоким и с низким уровнями сигнал низкого уровня «давит» сигнал высокого уровня. По этой причине арбитраж выигрывает то CAN-устройство, у которого идентификатор имеет самое низкое значение!

Приемопередатчики для сетей CAN производства NXP, Texas Instruments и Maxim

Интерфейс CAN (Controller Area Network – сеть контроллеров) – стандарт промышленной сети, ориентированный на объединение в единую сеть различных исполнительных устройств и датчиков, был разработан компанией Robert Bosch GmbH для автомобильной автоматики в середине 1980-х. В настоящее время этот стандарт широко применяется в промышленной автоматизации, технологиях «умного дома», автомобильной промышленности, в корабельных бортовых сетях, управлении системами кондиционирования воздуха, лифтами, медицинскими и промышленными установками. В мире уже установлено более 100 млн. узлов сетей CAN, ежегодный прирост составляет более 50%.

Непосредственно стандарт CAN от Bosch определяет передачу без привязки к физическому способу передачи данных, т.е. он может быть каким угодно, например, радиоканалом или оптоволокном. Но на практике под CAN-сетью (рис. 1) обычно подразумевается сеть с физическим уровнем в виде общей и единой дифференциальной пары (ISO 11898). При максимальной скорости передачи, оговоренной стандартом, (1 Мбит/с) длина шины может достигать 30 м. При меньших скоростях ее можно увеличить до нескольких километров (на скорости 10 кБит/с – длина шины до 5 км). Если требуется большая длина, то ставятся мосты или повторители. Теоретически число подсоединяемых к шине устройств не ограничено ничем, а практически не превышает 64. В большинстве применений этой цифры вполне достаточно.

Архитектура микроконтроллеров семейства STM8S

Рис. 1. Физическая топология шины CAN

Шина CAN является мультимастерной, т. е. сразу несколько устройств могут управлять ею. Передача ведется кадрами, которые принимаются абсолютно всеми узлами сети. Шина CAN является синхронной шиной, которая в отличие от сетей типа Ethernet и им подобных (точка-точка) обеспечивает доступ на передачу сообщения детерминировано (т.е. приоритетно), что особо ценно для промышленных сетей управления (fieldbus). Коллизии и ошибки, возникающие на шине CAN, однозначно детектируются всеми узлами сети: узлы с зафиксированной ошибкой попросту отключаются от сети. Описание стандартов и большой объем документации по шине CAN бесплатно доступен на сайте организации CAN in Automation www.can-cia.de.

Каждый узел сети CAN состоит как минимум из трех основных частей: приемопередатчик физического уровня сети (в дальнейшем трансивер), контроллер пакетов сети, процессор или микроконтроллер, определяющий функциональное назначение самого узла. Зачастую сам контроллер CAN входит в состав процессора/микроконтроллера. Однако трансивер в виде отдельной микросхемы является необходимостью. Объясняется это, прежде всего, высокими требованиями к его надежности и рабочим характеристикам, поскольку работает он с цепями, физически выходящими за пределы устройства (в данном случае это сама шина CAN). А условия, в которых находятся эти цепи, зачастую не определены: например, сильные магнитные поля или пролегающие рядом силовые высоковольтные цепи. Более того, при необходимости гальванической развязки ее удобнее всего осуществлять именно между трансивером и контроллером CAN-сети.

Максимальное число узлов, подключенных к шине, фактически определяется нагрузочной способностью примененных трансиверов. Например, при использовании PCA82C250 от компании NXP (данная микросхема была разработана еще Philips Semiconductors) она равна 110.

Значительно возросшие требования к современным микросхемам по надежности, температуре, экономичности и другим параметрам касаются также и трансиверов сетей CAN. Ниже приведен обзор трансиверов трех производителей: NXP, Texas Instruments и Maxim.

CAN-трансиверы NXP

Высокоскоростные CAN-трансиверы компании NXP TJA1040, TJA1041, TJA1050 (табл. 1) основаны на продвинутой технологии SOI – кремний на изоляторе (Silicon-on-Insulator). Благодаря этой технологии новые трансиверы в сравнении с трансиверами предыдущего поколения PCA82C250 и PCA82C251 имеют уменьшенный уровень собственного электромагнитного излучения (20 дБ) и высокую устойчивость к электромагнитному излучению.

Таблица 1. Краткие параметры и характеристики микросхем CAN-трансиверов NXP

Наименование Диапазон напряжения питания, В Максимально допустимое напряжение на шине CAN, В Максимальная скорость передачи, кбит/с Ток потребления в экономичном режиме, мкА Диапазон рабочей температуры,
°С
Корпус
PCA82C250T/N44,50…5,50-36…+361000250-40…125SOIC-8
PCA82C251/N34,50…5,50-36…+361000250SOT97-1
PCA82C251T/N34,50…5,50-36…+361000250SOIC-8
TJA1040T/N14,75…5,25-27…+40100015SOIC-8
TJA1040T/V4,75…5,25-27…+40100015SOIC-8
TJA1041AT4,75…5,25-27…+40100010SOIC-14
TJA1041T/N14,75…5,25-27…+40100010SOIC-14
TJA1050T/N14,75…5,25-27…+401000SOIC-8
TJA1050U/N14,75…5,25-27…+401000SOIC-8
TJA1054T/N34,75…5,25-40…+4012510SOIC-14
TJA1054AT/N44,75…5,2527…+4012510SOIC-14
TJA1055T/N34,75…5,25-58…+581255SOIC-14
Читайте также  Промышленное оборудование - отзывы о работе

Трансивер TJA1040 имеет режим Standby с удаленным запуском по шине и потреблением тока менее 15 мкА. Трансивер рекомендован для работы в составе устройств, постоянно подключенных к питанию. Кроме того, TJA1040 при отключении питания становится невидим для шины, что делает его пригодным также для применений в узлах автоэлектроники типа clamp-15, когда при выключенном зажигании другие узлы общаются по CAN-шине.

TJA1041 имеет несколько особенностей в сравнении с TJA1040: спящий режим с потреблением тока узла не более 20 мкА; удаленный запуск по шине и локальный запуск через специальный вывод, что позволяет определить источник запуска; уникальные возможности диагностики и информирования об отказах шины: информирование о коротких замыканиях, включая «скрытые»; информирование о локальных сбоях. Благодаря этим свойствам TJA1041 имеет очень гибкую систему управления собственным потребляемым током.

TJA1050 имеет схожие с TJA1040 характеристики, но при отключенном питании во время общения других устройств отдает в шину обратный ток (TJA1040 имеет нулевой обратный ток). Обратный ток немного увеличивает электромагнитное излучение шины. Поэтому если требования к электромагнитной совместимости не очень жесткие, но необходима минимизация цены устройства, рекомендуется применять TJA1050 (TJA1050 на 20-30% дешевле, чем TJA1040).

Помимо высокоскоростных трансиверов, компания NXP выпускает приемопередатчики TJA1054 и TJA1054A стандарта FT-CAN (FT – Fault-tolerant, т.е. помехозащищенный). Они идентичны высокоскоростным трансиверам TJA1040/41/50, но обладают повышенной помехозащищенностью.

TJA1054 является, можно сказать, «образцовым» устройством: по нему фактически писался стандарт ISO11898-3 (FT-CAN). Особенности: спящий режим, потребление всего узла 30 мкА; великолепные параметры ЭМС благодаря технологии SOI; уникальные дополнительные функции отказоустойчивости (аналогичные TJA1041); нулевой обратный ток;

TJA1054A – версия TJA1054 с улучшенной защитой от электростатического разряда. Другие ососбенности: защита до 4 кВ в модели человеческого тела по выводам CANH, CANL, RTH, RTL (по сравнению с 2 кВ в TJA1054). Остальные технические параметры идентичны TJA1054, устройство полностью соответствует ISO11898-3 и рекомендуется как FT-CAN-трансивер в новых разработках.

TJA1055 — усовершенствованная версия трансиверов TJA1054 и TJA1054A со следующими основными отличиями: улучшенная защита от электростатических разрядов, уменьшенный ток потребления в спящем режиме, совместимость с 3 В логикой.

Компания NXP также выпускает специальный трансивер AU5790, работающий с однопроводной шиной CAN. Этот 1W-CAN-приемопередатчик (1W – однопроводной) был специально разработан для узкого сегмента рынка с требованиями минимальной стоимости реализации шины,. Основные параметры AU5790: скорость передачи данных до 40 кбит/с; скорость приема данных до 100 кбит/с; инновационные функции экономии энергии; уникальные функции запуска, позволяющие осуществлять коммуникацию двух устройств без запуска всех шины; спящий режим с потреблением 70 мкА; функция защиты от потери земли; поддержка до 32 узлов.

Будучи в свое время флагманом в области CAN-трансиверов и CAN-контроллеров, предшественник NXP компания Philips Semiconductors успела довольно прочно занять этот рынок. Другие компании взяли за основу своих разработок изделия Philips и занялись их усовершенствованием и улучшением характеристик и параметров, с сохранением расположения выводов и корпусов микросхем. Этим путем пошли, например, компании Texas Instruments и Maxim.

CAN-трансиверы Texas Instruments

Как было сказано выше, CAN-трансиверы Texas Instruments (табл. 2) являются улучшенными образцами распространенных трансиверов серий PCA82C25x, TJA10xx от PHILIPS.

Таблица 2. Краткие параметры и характеристики микросхем CAN-трансиверов Texas Instruments

Наименование Диапазон напряжения питания, В Максимально допустимое напряжение на шине CAN, В Максимальная скорость передачи, кбит/с Ток потребления в экономичном режиме, мкА Диапазон рабочей температуры, °С Корпус
SN65HVD2303,0…3,6-4…+161000370-40…85SOIC-8
SN65HVD231100
SN65HVD232
SN65HVD230M-EP3,0…3,6-4…+161000370-50…125SOIC-8
SN65HVD230Q3,0…3,6-4…+161000370-40…125SOIC-8
SN65HVD231Q100
SN65HVD232Q
SN65HVD10404,75…5,25-27…+4010005-40…125SOIC-8
SN65HVD1050-40…125
SN65HVD1050-EP-55…125
SN65LBC0314,50…5,50-5…+20500-40…85SOIC-8 DIP-8
SN65LBC031Q-40…125
SN75LBC031

Серия трансиверов SN65HD23x/SN65HD23xQ является полностью совместимой по выводам/корпусу и улучшенной копией популярного трансивера NXP – PCA82C250: повышенная экономичность, напряжение питания 3,3 В, расширенный диапазон рабочей температуры, спящий режим со сверхнизким током потребления 0,1 мкА (SN65HD231/SN65HD231Q).

SN65HVD1040/1050/1050-EP в свою очередь являются аналогами соответствующих трансиверов NXP – TJA1040/1050, но с улучшенными параметрами: защита до 12 кВ в модели человеческого тела по выводам шины CAN относительно земли (по сравнению с 4 кВ в TJA1050); уменьшенный с 30 мкА (TJA1050) до 5 мкА ток потребления в ждущем режиме; автоматическое пробуждение из ждущего режима по факту приема данных по шине; расширенный диапазон рабочей температуры в отрицательной области (-55°С у SN65HVD1050-EP против -40°С у TJA1040/1050).

CAN-трансиверы Maxim

CAN-трансиверы Maxim (табл. 3) отличаются от соответствующих микросхем других компаний прежде всего возможностью работы на более высокой скорости – до 2 Мбит/с; повышенным максимально допустимым напряжением на шине (до +/-80 В); повышенной экономичностью, т.е. сверхнизким собственным током потребления (35 мкА при доминантном уровне на выходе шины и 2 мкА при рецессивном); дополнительной защитой по току выходных транзисторов. Разумеется, компания Maxim не стала отходить от традиции – все микросхемы CAN-трансиверов совместимы с изделиями конкурентов как по выводам, так и по корпусам, в которых она размещены. Основная область их применения – индустриальная.

Читайте также  Виды промышленных фильтров для очистки воды

Таблица 3. Краткие параметры и характеристики микросхем CAN-трансиверов MAXIM

Наименование Диапазон напряжения питания, В Максимально допустимое напряжение на шине CAN, В Максимальная скорость передачи, кбит/с Ток потребления в экономичном режиме, мкА Диапазон рабочей температуры, °С Корпус
MAX30504,50…5,50-80…+80200015-40…125SOIC-8
MAX3057
MAX30513,10…3,45-7,5…+12,510001-40…85SOIC-8 SOT23-8
MAX30534,50…5,50-80…+80200015-40…85 (E)
-40…125 (A)
SOIC-8
MAX30544,75…5,25-80…+802503-40…125SOIC-14
MAX3055
MAX3056
MAX30584,50…5,50-7,5…+12,5100015-40…125SOIC-8
MAX305910
MAX130504,75…5,25-80…+80100011-40…85 (E)
-40…125 (A)
SOIC-8
MAX13052
MAX13053
MAX130544,75…5,25 и 3,00…3,60
MAX130514,75…5,25-80…+80100015-40…85 (E)
-40…125 (A)
SOIC-8

MAX3054/55/56 – это усовершенствованные трансиверы TJA1054 (NXP): увеличенная надежность, благодаря высокому допустимому напряжению на шине CAN (до +/-80 В); уменьшенный уровень ВЧ-помех (встроенные фильтры) и повышенная устойчивость к внешним электромагнитным полям благодаря встроенному узлу управления скоростью нарастания напряжения на шине CAN. Они идеальны для работы на скоростях 40 кБит/с (MAX3056), 125 кБит/с (MAX3055) и 250 кБит/с (MAX3054).

Заключение

Жесткая конкурентная борьба применительно к трансиверам CAN-сетей выглядит так: каждая компания старается сделать полностью совместимый с конкурентом/конкурентами трансивер по выводам и по корпусу, но с улучшенными характеристиками: ток потребления, скорость работы, уровень излучаемых помех и, наконец, цена. На примере трех компаний – NXP, TI и MAXIM – это особенно заметно.

Получение технической информации, заказ образцов, поставка — e-mail: analog.vesti@compel.ru

Устройства для работы с протоколом CAN. Конвертеры CAN. Шлюзы CAN.

Данный раздел включает следующее оборудование для работы с протоколом CAN:

Конвертеры протокола CAN / шлюзы CAN / адаптеры CAN / Репиторы CAN

Скачать прайс-лист на оборудование CAN

Описание протокола CAN:

CAN (англ. Controller Area Network — сеть контроллеров) — стандарт промышленной сети, ориентированный прежде всего на объединение в единую сеть различных исполнительных устройств и датчиков. Режим передачи — последовательный, широковещательный, пакетный.

СКАЧАТЬ: Описание шины CAN от BOSСH (eng) PDF

CAN разработан компанией Robert Bosch GmbH в середине 1980-х и в настоящее время широко распространён в промышленной автоматизации, технологиях «умного дома», автомобильной промышленности и многих других областях.
С начала 2000-х годов — стандарт для автомобильной автоматики.

CAN — последовательная магистраль, обеспечивающая увязку в сеть «интеллектуальных» устройств ввода/вывода, датчиков и исполнительных устройств некоторого механизма или даже предприятия. Характеризуется протоколом, обеспечивающим возможность нахождения на магистрали нескольких ведущих устройств, обеспечивающим передачу данных в реальном масштабе времени и коррекцию ошибок, высокой помехоустойчивостью. Система CAN обеспечена большим количеством микросхем, обеспечивающих работу подключенных к магистрали устройств, разработку которых начинала фирма BOSH для использования в автомобилях, и в настоящее время широко используемых в автоматизации промышленности.

Непосредственно стандарт CAN от Bosch определяет передачу в отрыве от физического уровня — он может быть каким угодно, например, радиоканалом или оптоволокном. Но на практике под CAN-сетью обычно подразумевается сеть топологии «шина» с физическим уровнем в виде дифференциальной пары, определённым в стандарте ISO 11898. Передача ведётся кадрами, которые принимаются всеми узлами сети.
Предназначен для организации высоконадежных недорогих каналов связи в распределенных системах управления. Интерфейс широко применяется в промышленности, энергетике и на транспорте. Позволяет строить как дешевые мультиплексные каналы, так и высокоскоростные сети.
Скорость передачи задается программно и может быть до 1 Мбит/с. Пользователь выбирает скорость, исходя из расстояний, числа абонентов и емкости линий передачи.

Расстояние, м 25 | 50 | 100 | 250 | 500 | 1000 | 2500 | 5000
Скорость, Кбит/с 1000 | 800 | 500 | 250 | 125 | 50 | 20 | 10

Протокол CAN использует оригинальную систему адресации сообщений. Каждое сообщение снабжается идентификатором, который определяет назначение передаваемых данных, но не адрес приемника. Любой приемник может реагировать как на один идентификатор, так и на несколько. На один идентификатор могут реагировать несколько приемников.
Протокол CAN обладает развитой системой обнаружения и сигнализации ошибок. Для этих целей используется поразрядный контроль, прямое заполнение битового потока, проверка пакета сообщения CRC-полиномом, контроль формы пакета сообщений, подтверждение правильного приема пакета данных. Хемминговый интервал d=6. Общая вероятность необнаруженной ошибки 4.7×10-11.
Система арбитража протокола CAN исключает потерю информации и времени при «столкновениях» на шине.
Интерфейс с применением протокола CAN легко адаптируется к физической среде передачи информации. Это может быть дифференциальный сигнал, оптоволокно, просто открытый коллектор и т.п. Несложно делается гальваническая развязка.
Элементная база, поддерживающая CAN, широко выпускается в индустриальном исполнении.

Синхронная шина, с типом доступа Collision Resolution (CR), который в отличие от Collision Detect (CD) сетей (Ethernet — это CD) детерминировано (приоритетно) обеспечивает доступ на передачу сообщения, что особо ценно для промышленных сетей управления (fieldbus). Передача ведётся кадрами. Полезная информация в кадре состоит из идентификатора длиной 11 бит (стандартный формат) или 29 бит (расширенный формат, надмножество предыдущего) и поля данных длиной от 0 до 8 байт. Идентификатор говорит о содержимом пакета и служит для определения приоритета при попытке одновременной передачи несколькими сетевыми узлами.

Источник https://eti.su/articles/promishlennaya-avtomatika/promishlennaya-avtomatika_611.html

Источник https://www.compel.ru/lib/54030

Источник http://www.asu-info.ru/index.php/can

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: