Код документа: RU2740163C2
Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству связи, способу связи, программе и системе связи и более конкретно относится к устройству связи, способу связи, программе и системе связи, обеспечивающие более надежную связь.
Перекрёстная ссылка на родственные заявки
Настоящая заявка испрашивает приоритет заявки на патент Японии JP 2016-099954, поданной 18 мая 2016 года, полное содержание которой включено в настоящий документ посредством ссылки.
Уровень техники
В прошлом, например, I2C (шина межсоединений интегральных схем) часто использовалась как шина IF (интерфейса) для связи между множеством устройств по шине на плате, на которой установлено множество устройств.
Дополнительно в последнее время возросла потребность в увеличении скорости передачи данных I2C, и разрабатывают I3C (усовершенствованную шину межсоединений интегральных схем) в качестве стандартов следующего поколения. Посредством I3C ведущее устройство и ведомое устройство могут осуществлять двунаправленную связь с использованием двух сигнальных линий. Например, осуществляют передачу данных от ведущего устройства к ведомому устройству (запись передачи) и передачу данных от ведомого устройства к ведущему устройству (чтение передачи).
Например, в выложенной заявке на патент Японии № 2000-99448 раскрыта система цифровой обработки данных, в которой хост-процессор и контроллер подсистемы соединены друг с другом посредством I2C. Дополнительно, в выложенной заявке на патент Японии № 2002-175269 раскрыт способ реализации протокола связи в многоуровневом состоянии в верхней части стандартного протокола I2C.
Список цитирования
Патентная литература
PTL 1
Выложенная заявка на патент Японии № 2000-99448
PTL 2
Выложенная заявка на патент Японии № 2002-175269
Сущность изобретения
Техническая задача
В данном случае, несмотря на то, что в вышеупомянутой I3C обнаружение ошибок на четность, CRC (циклическая проверка избыточности) и т.д. выполняют в ведущем устройстве или ведомом устройстве, например, такой процесс обнаружения ошибок в переданном/принятом сигнале не предусмотрен. По этой причине, есть вероятность сбоя связи ведущего устройства или ведомого устройства при возникновении ошибки в сигнале, для которого обнаружение ошибок не предусмотрено.
Настоящее изобретение было разработано с учетом таких обстоятельств и обеспечивает более надежную связь.
Решение технической задачи
Устройство связи по первому аспекту настоящего изобретения включает в себя: блок передачи/приема, который передает/принимает сигнал в/из другого устройства; блок обнаружения сигнала подтверждения, который обнаруживает один из сигнал подтверждения приема и сигнал не подтверждения приема, при этом, сигнал подтверждения приема и сигнал не подтверждения приема переданы из другого устройства, которое приняло сигнал, переданный из блока передачи/приема; и блок предотвращения конфликта, который дает команду блоку передачи/приема передавать сигнал прерывания для указания прервать связь после игнорирования заданного количества битов после сигнала не подтверждения приема, когда блок обнаружения сигнала подтверждения обнаружил сигнал не подтверждения приема.
Способ или программа связи по первому аспекту настоящего изобретения включает в себя передачу/прием сигнала в/из другого устройства; обнаружение одного из сигнал подтверждения приема и сигнала не подтверждения приема, при этом, сигнал подтверждения приема и сигнал не подтверждения приема переданы из другого устройства, которое приняло передаваемый сигнал; и передачу сигнала прерывания для указания прервать связь после игнорирования заданного количества битов после сигнала не подтверждения приема, когда обнаружен сигнал не подтверждения приема.
В первом аспекте настоящего изобретения сигнал передают/принимают в/из другого устройства; обнаруживают один из сигнал подтверждения приема и сигнал не подтверждения приема, при этом, сигнал подтверждения приема и сигнал не подтверждения приема передан из другого устройства, которое приняло передаваемый сигнал; и передают сигнал прерывания для указания прервать связь после игнорирования заданного количества битов после сигнала не подтверждения приема при обнаружении сигнала не подтверждения приема.
Система по второму аспекту настоящего изобретения включает в себя: первое устройство связи, выполненное с возможностью управлять передачей данных по шине; и второе устройство связи, выполненное с возможностью осуществлять связь под управлением первого устройства связи, в котором первое устройство связи включает в себя блок передачи/приема, который передает/принимает сигнал в/из второго устройства связи, блок обнаружения сигнала подтверждения, который обнаруживает один из сигнал подтверждения приема и сигнал не подтверждения приема, при этом сигнал подтверждения приема и сигнал не подтверждения приема передают из второго устройства связи, которое приняло сигнал, переданный из блока передачи/приема, и блок предотвращения конфликта, который дает команду блоку передачи/приема передать сигнал прерывания для указания прервать связь после игнорирования заданного количества битов после сигнала не подтверждения приема, после обнаружения блоком обнаружения сигнала подтверждения сигнала не подтверждения приема.
Во втором аспекте настоящего изобретения осуществляют связь между первым устройством связи, которое инициирует управление в шине, и вторым устройством связи, которое осуществляет связь в соответствии с управлением первым устройством связи. В первом устройстве связи сигнал передают/принимают в/из второго устройства связи; обнаруживают один из сигнал подтверждения приема и сигнал не подтверждения приема, при этом, сигнал подтверждения приема и сигнал не подтверждения приема передан из второго устройства связи, который принял переданный сигнал; и передают сигнал прерывания для указания прерывания связи после игнорирования заданного количества битов после сигнала не подтверждения приема, после обнаружения сигнала не подтверждения приема.
Полезные эффекты изобретения
Согласно первому и второму аспектам настоящего изобретения обеспечивают более надежную связь.
Краткое описание чертежей
Фиг.1 представляет собой блок-схему, иллюстрирующую примерную конфигурацию варианта осуществления шины IF, использующего настоящую технологию.
Фиг.2 является схемой, поясняющей ошибку конфликта.
Фиг.3 является схемой, иллюстрирующей пример формата, который позволяет избежать ошибки конфликта.
Фиг.4 представляет собой блок-схему алгоритма, которая объясняет процесс связи в DDR-режиме ведущего устройства.
Фиг.5 является схемой, иллюстрирующей примерную конфигурацию ведущего устройства.
Фиг.6 является схемой, иллюстрирующей другой пример формата, который позволяет избежать ошибки конфликта.
Фиг.7 представляет собой блок-схему, иллюстрирующую примерную конфигурацию варианта осуществления компьютера, применяющего настоящую технологию.
Подробное описание
Далее будут подробно описаны конкретные варианты осуществления, применяющие настоящую технологию, со ссылкой на чертежи.
Пример конфигурации шины IF
Фиг.1 представляет собой блок-схему, иллюстрирующую примерную конфигурацию варианта осуществления шины IF, использующего настоящую технологию.
Шина IF 11, показанная на фиг.1 включает в себя ведущее устройство 12 и три ведомых устройств 13-1-13-3, соединенных друг с другом по линии 14-1 передачи данных и линии 14-2 передачи тактового сигнала.
Ведущее устройство 12 выполнено с возможностью управлять передачей по шине IF 11 и может устанавливать связь с ведомыми устройствами 13-1-13-3 по линии 14-1 передачи данных и линии 14-2 передачи тактового сигнала.
Ведомые устройства 13-1-13-3, находящиеся под управлением ведущего устройства 12, могут устанавливать связь с ведущим устройством 12 по линии 14-1 передачи данных и линии 14-2 передачи тактового сигнала. Следует отметить, что ведомые устройства 13-1-13-3 сконфигурированы аналогично друг другу, и в дальнейшем будет обозначаться просто, как ведомое устройство 13, при отсутствии необходимости индивидуального отличия. Это применимо аналогично к соответствующим блокам, составляющим ведомое устройство 13.
Линию 14-1 передачи данных и линию 14-2 передачи тактового сигнала используют для передачи сигналов между ведущим устройством 12 и ведомым устройством 13. Например, в шине IF 11 последовательные данные (SDA) последовательно передают по одному биту по линии 14-1 передачи данных, тогда как последовательный тактовый сигнал (SCL) определенной частоты передают по линии 14-2 передачи тактового сигнала.
Дополнительно, в шине IF 11 используют множество способов передачи с различными скоростями передачи данных, согласно I3C стандарту, и ведущее устройство выполнено с возможностью переключения между способами передачи данных. Например, в шине IF 11 предусмотрены SDR (стандартная скорость передачи данных) режим и HDR (высокая скорость передачи данных) режим, в зависимости от скорости передачи данных. В SDR-режиме данные передают с нормальной скоростью передачи данных, и в HDR-режиме передают данные со скоростью, превышающую скорость передачи данных в SDR режиме. Дополнительно, в HDR-режиме стандарт предусматривает три режима работы, а именно: DDR-режим (удвоенная скорость передачи данных), TSP-режим (чистая шина с троичными символами) и TSL-режим (унаследованная шина с троичными символами). Следует отметить, что при инициировании связи шина IF 11 функционирует в режиме SDR.
Ведущее устройство 12 включает в себя блок 21 передачи/приема, блок 22 обнаружения ошибки, блок 23 обнаружения сигнала подтверждения и блок 24 предотвращения конфликта.
Блок 21 передачи/приема передает/принимает сигналы в/из ведомое устройство 13 и по линии 14-1 передачи данных и линии 14-2 передачи тактового сигнала. Например, блок 21 передачи/приема передает сигнал ведомому устройству 13 путем управления линией 14-1 передачи данных (переключение электрического потенциала на Н уровень или L уровень) в соответствии с синхронизацией последовательных тактовых сигналов, передаваемых посредством управления линией 14-2 передачи тактового сигнала. Дополнительно, блок 21 передачи/приема принимает сигнал, переданный из ведомого устройства 13, в результате того, что ведомое устройство 13 управляет линией 14-1 передачи данных в соответствии с синхронизациями последовательного тактового сигнала по линии 14-2 передачи тактового сигнала. Следует отметить, что управление линией 14-2 передачи тактового сигнала осуществляют непрерывно ведущим устройством 12.
Блок 22 обнаружения ошибки обнаруживает ошибку, возникающую в сигнале, принятом блоком 21 передачи/приема. Например, блок 22 обнаружения ошибки выполнен с возможностью обнаруживать ошибку путем проведения проверки, такой как проверка на четность или циклическая проверка избыточности (например, CRC) сигнала, принятого блоком 21 передачи/приема, или путем проверки маркера, сгенерированного при смещении вправо передачи от ведомого устройства 13 к ведущему устройству 12. Дополнительно, когда блок 22 обнаружения ошибки обнаруживает ошибку в сигнале, принятого блоком 21 передачи/приема, например, блок 22 обнаружения ошибки выполнен с возможностью давать команду блоку 21 передачи/приема выполнить связь с ведомым устройством 13 с начала.
Например, блок 22 обнаружения ошибки обнаруживает возникновение ошибки путем проведения проверки на четность принятых данных блоком 21 передачи/приема между двумя битами проверки на четность в данных, переданных от ведомого устройства 13, один как четный, а другой как нечетный. Следовательно, блок 22 обнаружения ошибки выполнен с возможностью обнаруживать, являются ли данные корректными, даже если линия 14-1 передачи данных не управляется либо ведущим устройством 12, либо ведомым устройством 13.
Блок 23 обнаружения сигнала подтверждения подтверждает, что ведомое устройство 13 успешно приняло команду, данные и т.п., обнаружив ACK (сигнал подтверждения приема) или NACK (сигнал не подтверждения приема), переданный из ведомого устройства 13, которое приняло сигнал, передаваемый из блока 21 передачи/приема. Например, в IF 11 шины предусмотрено, что ведомое устройство 13 передает ACK в ведущее устройство 12, когда в сигнале отсутствует ошибка, и ведомое устройство 13 успешно приняло команду, данные и т.п. Дополнительно, в шине IF 11 предусмотрено, что ведомое устройство 13 передает NACK в ведущее устройство 12 при наличии в сигнале ошибки, и ведомое устройство 13 не приняло команду, данных и т.п.
Следовательно, в случае обнаружения ACK, переданного из ведомого устройства 13 в команде или данных и т.п., переданные из ведущего устройства 12, блок 23 обнаружения сигнала подтверждения выполнен с возможностью подтвердить, что ведомое устройство 13 успешно приняло команду, данные и т.п.. С другой стороны, в случае обнаружения NACK блоком 23 обнаружения сигнала подтверждения, переданного из ведомого устройства 13 в команде, данных и т.п., переданные из ведущего устройства 12, блок 23 обнаружения сигнала подтверждения выполнен с возможностью подтвердить, что ведомое устройство 13 не приняло команду, данные и т.п.
В случае, когда блок 23 обнаружения сигнала подтверждения обнаруживает NACK, блок 24 предотвращения конфликта сообщает блоку 21 передачи/приема передать сигнал прерывания для указания прерывания связи после игнорирования заданного количества бит, следующего за NACK, как будет описано ниже со ссылкой на фиг.3, например. Соответственно, например, блок 24 предотвращения конфликта выполнен с возможностью предотвращать конфликт со считываемыми данными, переданными из ведомого устройства 13 и, например, команды завершения HDR, переданной из ведущего устройства 12.
Дополнительно, в случае, когда блок 21 передачи/приема принимает преамбулу для инструктирования передать CRC слово, и блок 22 обнаружения ошибки обнаруживает, что сигнал, принятый после преамбулы, имеет ошибку маркера или CRC ошибку, блок 24 предотвращения конфликта передает тактовый сигнал в зависимости от количества бит, соответствующих разности между CRC словом и считываемыми данными, следуя преамбуле, прежде чем указывать блоку 21 передачи/приема передать сигнал прерывания для указания прерывания связи. Соответственно, блок 24 предотвращения конфликта способен предотвращать конфликт со считываемыми данными, переданными из ведомого устройства 13, и, например, командой завершения HDR, переданной из ведущего устройства 12.
Ведомое устройство 13 включает в себя блок 31 передачи/приема и блок 32 обнаружения ошибок.
Блок 31 передачи/приема передает/принимает сигнал в/из ведущего устройства 12 по линии 14-1 передачи данных и линии 14-2 передачи тактового сигнала. Например, блок 31 передачи/приема принимает сигнал, переданный из ведущего устройства 12, который управляет сигнальной линией 14-1 передачи данных в соответствии с синхронизацией последовательных тактовых сигналов линии 14-2 передачи тактового сигнала. Дополнительно, блок 31 передачи/приема передает сигнал в ведущее устройство 12 путем управления сигнальной линией 14-1 передачи данных в соответствии с синхронизацией последовательных тактовых сигналов линии 14-2 передачи тактового сигнала.
Блок 32 обнаружения ошибки обнаруживает, что сигнал, принятый блоком 31 передачи/приема, имеет ошибку аналогично блоку 22 обнаружения ошибки ведущего устройства 12. Затем в случае, когда сигнал, принятый блоком 31 передачи/приема, не имеет ошибки, блок 32 обнаружения ошибки вызывает блок 31 передачи/приема передать ACK, который представляет, что команда, данные или тому подобное, переданные сигналом, были успешно приняты ведущим устройством 12. С другой стороны, в случае, когда сигнал, принятый блоком 31 передачи/приема, имеет ошибку, блок 32 обнаружения ошибки вызывает блок 31 передачи/приема передавать NACK, который представляет, что команда, данные или тому подобное, переданные сигналом, не были приняты ведущим устройством 12.
Дополнительно в случае, когда сигнал, принятый блоком 31 передачи/приема, имеет ошибку, и осуществление нормальной связи затруднено, например, блок 32 обнаружения ошибки игнорирует последующую коммуникацию, прекращает направлять ответный сигнал в ведущее устройство 12, и вызывает ведомое устройство 13 находиться в состоянии ожидания.
Согласно описанной выше конфигурации шины IF 11, ведущее устройство 12 и ведомое устройство 13 выполнены с возможностью передавать/принимать сигнал по линии 14-1 передачи данных и линии 14-2 передачи тактового сигнала, и можно осуществлять связь более надежно, предотвращая конфликты посредством блока 24 предотвращения конфликта.
Описание возникновения конфликта
Далее приведено описание ситуации возникновения конфликта со ссылкой на фиг.2, прежде чем описывать способ для предотвращения конфликта блоком 24 предотвращения конфликта.
В шине IF 11 предусмотрено, что сигнал двух битов, называемый преамбулой, используют для обозначения типа данных, которые будут переданы далее в DDR-режиме. Поскольку в преамбуле не предусмотрен процесс обнаружения ошибок на четность или CRC, обнаружение ошибки при ее возникновении преамбуле затруднено.
Например, в преамбуле после того как ведущее устройство 12 передает команду чтения для указания считывания данных в ведомое устройство 13, предусмотрено, что первый бит управляется ведущим устройством 12 и второй бит управляется ведомым устройством 13. Затем, ведомое устройство 13 может передавать ACK или NACK со вторым битом. Например, предусмотрено, что ACK, представляющий, что прием команды чтения выполнен успешно, устанавливает второй бит преамбулы, которая передала команду чтения, на 0. С другой стороны, предусмотрено, что NACK, представляющий, что прием команды чтения не был выполнен, устанавливает второй бит преамбулы, которая передала команду чтения, на 1.
Однако в случае возникновения 1 битовой ошибки, в которой инвертируется значение 1 бит, во втором бите данной преамбулы, например, ведущее устройство 12 ошибочно распознает ACK и NACK.
В частности, как показано в верхней части фиг.2, ведомое устройство 13 устанавливает второй бит преамбулы на 0 (то есть передает ACK) в том случае, когда прием команды чтения выполнен успешно и передает считываемые данные (DDR Данные) после преамбулы. Обратите внимание, что заштрихованная часть на фиг.2 показывает управление ведомым устройством 13.
С другой стороны, в случае, когда во втором бите преамбулы произошла 1-бит ошибка и второй бит преамбулы установлен на 1, как показано на нижней стороне фиг.2, ведущее устройство 12 ошибочно распознает, что NACK передается из ведомого устройства 13. Следовательно, в этом случае ведущее устройство 12 передает команду завершения HDR (HDR выход), которая инструктирует прекратить связь в HDR-режиме, в ответ на ошибочное распознавание того, что ведомое устройство 13 не приняло команду считывания.
Соответственно, возможен конфликт между считываемыми данными, переданными из ведомого устройства 13, и командой завершения HDR, переданной из ведущего устройства 12. Следовательно, после этого, даже если ведущее устройство 12 передает команду завершения HDR, ведомое устройство 13 не может завершить HDR-режим, из-за сложности приема ведомым устройством 13 команды завершения HRD. Соответственно, полагают, что шина IF 11 заблокирована и находится в некоммуникабельном состоянии.
Ввиду вышеизложенного, в шине IF 11 предусмотрено, что при обнаружении NACK, ведущее устройство 12 передает сигнал прерывания для указания прерывания связи после игнорирования заданного количества бит после NACK. Соответственно, даже при возникновении упомянутой выше 1-битовой ошибки, можно предотвратить конфликт между считываемыми данными, переданными из ведомого устройства 13, и командой завершения HDR, переданной из ведущего устройства 12.
Описание процесса предотвращения конфликта
На фиг.3 показан формат, когда ведущее устройство 12 приняло NACK для предотвращения возникновения конфликта из-за 1-битовой ошибки, возникшей во втором бите преамбулы, после того как команда чтения передана в шине IF 11.
Как показано на фиг.3, в шине IF 11 в случае, когда ведущее устройство 12 обнаруживает, что второй бит преамбулы после передачи команды чтения (READ CMD) равен 1, 18 бит (что совпадает с числом битов считываемых данных, переданных в ответ на команду считывания), следуя преамбуле, переданной после команды чтения, рассматривают как период синхронизации предотвращения конфликта. Затем, в шине IF 11 предусмотрено, что ведущее устройство 12 игнорирует период синхронизации предотвращения конфликта и первый бит преамбулы после периода синхронизации предотвращения конфликта (т.е. 19 бит после NACK) и передает тактовый сигнал, соответствующий количеству бит перед установкой второго бита преамбулы на 0.
Следует отметить, что в шине IF 11 предусмотрено, что ведомое устройство 13 передает считываемые данные из 18 бит после последующей преамбулы при приеме команды считывания. Дополнительно, в шине IF 11 предусмотрено, что после того как ведомое устройство 13 передает считываемые данные, первый бит управляется ведомым устройством 13, и второй бит управляется ведущим устройством 12 в преамбуле. Затем в шине IF 11 предусмотрен сигнал прерывания для указания выполнения мастер-прерывания, в котором ведущее устройство 12 прерывает связь с ведомым устройством 13 в случае, когда второй бит этой преамбулы установлен на 0. Следует отметить, что для надежного выполнения мастер-прерывания, управление вторым битом преамбулы, переданной/принятой после считываемых данных, выполняется ведущим устройством 12.
Следовательно, в случае, когда второй бит преамбулы после периода синхронизации предотвращения конфликта установлен на 0, как показано на фиг.3, то есть ведущее устройство 12 передает сигнал прерывания во время второго бита преамбулы двух бит, переданный/принимаемый после считываемых данных, когда считываемые данные передаются из ведомого устройства 13, ведомое устройство 13 может прерывать передачу считываемых данных, обнаруживая, что ведущее устройство 12 передало сигнал прерывания. Соответственно, когда ведущее устройство 12 передает команду завершения HDR (HDRExit) в соответствии с этой преамбулой, ведомое устройство 13 может завершить режим HDR в соответствии с командой завершения HDR. После этого ведущее устройство 12 и ведомое устройство 13 снова осуществляют связь в SDR-режиме.
То есть ведущее устройство 12 не передает команду завершения HDR сразу после обнаружения NACK, как показано на фиг.2. Как показано на фиг.3, ведущее устройство 12 дополнительно передает тактовый сигнал, соответствующий периоду синхронизации предотвращения конфликта после обнаружения NACK, и передает команду завершения HRD после преамбулы, следующей за периодом синхронизации предотвращения конфликтов.
Соответственно даже когда ведущее устройство 12 обнаруживает, что второй бит преамбулы после передачи команды считывания равен 1 (то есть NACK), можно предотвратить конфликт, описанный со ссылкой на фиг.2. То есть даже когда ведущее устройство 12 ошибочно распознает ACK, переданный из ведомого устройства 13 как NACK, можно предотвратить блокировку IF 11 шины и более надежно осуществлять связь.
Способ связи для предотвращения возникновения конфликта
Фиг.4 является блок-схемой алгоритма, описывающей процесс осуществления связи (DDR Read), в котором ведущее устройство 12 считывает данные из ведомого устройства 13 в DDR-режиме, который является одним из HDR-режимов.
На этапе S11 ведущее устройство 12 выполняет операцию переключения из SDR-режима в HDR-режим. В частности, в ведущем устройстве 12 блок 21 передачи/приема управляет линией 14-1 передачи данных и линией 14-2 передачи тактового сигнала и транслирует команду (0x7E + R/W = 0), которая уведомляет, что команду одновременно передают всем ведомым устройствам 13, составляющим шину IF 11 в SDR-режиме. После этого, в ведущем устройстве 12, когда блок 23 обнаружения сигнала подтверждения принимает ACK, переданный из ведомого устройства 13 для подтверждения приема транслируемой команды, блок 21 передачи/приема передает общий командный код (ENTHDR CCC (0x20)) для переключения в HDR-режим.
На этапе S12 блок 21 передачи/приема ведущего устройства 12 управляет линией 14-1 передачи данных и линией 14-2 передачи тактового сигнала для передачи команды считывания.
На этапе S13 блок 23 обнаружения сигнала подтверждения обнаруживает значение второго бита преамбулы после передачи команды считывания и определяет, какие из ACK и NACK передают из ведомого устройства 13. В частности, в случае, когда блок 23 обнаружения сигнала подтверждения обнаруживает, что второй бит преамбулы после передачи команды считывания равен 0, блок 23 обнаружения сигнала подтверждения определяет, что передают ACK из ведомого устройства 13. С другой стороны, в случае, когда блок 23 обнаружения сигнала подтверждения обнаруживает, что второй бит преамбулы после передачи команды считывания равен 1, блок 23 обнаружения сигнала подтверждения определяет, что передают NACK из ведомого устройства 13.
На этапе S13 в случае, когда блок 23 обнаружения сигнала подтверждения определяет, что передают ACK из ведомого устройства 13, процесс обработки переходит к этапу S14. Блок 21 передачи/приема принимает считываемые данные, переданные после преамбулы. Дополнительно, блок 21 передачи/приема принимает также преамбулу, переданную после считываемых данных.
После этого процесс обработки переходит к этапу S15, и блок 21 передачи/приема определяет, завершена ли связь в HDR-режиме. Например, в случае, когда преамбула, переданная после считываемых данных, представляет, что считываемые данные должны быть переданы после преамбулы, блок 21 передачи/приема определяет, что связь в режиме HDR не завершена, и процесс обработки возвращается к этапу S14, и продолжают коммуникацию в HDR-режиме. С другой стороны, например, в случае, когда преамбула, переданная после считываемых данных, представляет, что слово CRC должно быть передано после преамбулы, блок 21 передачи/приема определяет, что связь в HDR-режиме завершена, и принимает CRC слово до того, как процесс обработки переходит к этапу S17.
С другой стороны, в случае, когда блок 23 обнаружения сигнала подтверждения определяет, что передают NACK из ведомого устройства 13 на этапе S13, процесс обработки переходит к этапу S16.
На этапе S16 блок 24 предотвращения конфликта сообщает блоку 21 передачи/приема передать сигнал прерывания для указания прерывания связи после игнорирования заданного количества бит после NACK. В соответствии с этим, как описано выше со ссылкой на фиг.3, блок 21 передачи/приема передает сигнал прерывания в ведомое устройство 13.
После обработки этапа S16 процесс обработки переходит к этапу S17, и блок 21 передачи/приема передает команду завершения HDR после сигнала прерывания. Кроме того, также в случае, когда определено, что связь переключается из HDR-режима в SDR-режим на этапе S15, блок 21 передачи/приема передает команду HDR на этапе S17. Соответственно, завершают процесс обработки связи (DDR Read), в котором ведущее устройство 12 считывает данные из ведомого устройства 13 в DDR-режиме.
Как описано выше, в шине IF 11 можно более надежно осуществлять связь, предотвращая возникновение конфликта даже в том случае, когда NACK обнаружен в ведомом устройстве 12, и NACK получают из ACK, на котором произошла 1-битовая ошибка.
Блок-схема ведущего устройства
Далее, фиг.5 представляет собой принципиальную схему, показывающую пример конфигурации ведущего устройства 12.
Как показано на фиг.5, ведущее устройство 12 включает в себя блок 51 управления SCL, блок 52 усиления, блок 53 обслуживания Н уровня, блок 54 усиления, блок 55 последовательного преобразования, детектор 56 ошибки конфликта, детектор 57 ошибки четности, блок 58 обнаружения CRC5 ошибки, блок 59 параллельного преобразования, детектор 60 ошибки маркера, детектор 61 ACK/NACK, детектор 62 ошибки преамбулы и машину 63 с конечным числом состояний.
Блок 51 управления SCL генерирует тактовые импульсы, подаваемые ведомому устройству 13 по линии 14-2 передачи тактового сигнала в соответствии с выходным сигналом опорной частоты из машины 63 с конечным числом состояний для управления линией 14-2 передачи тактового сигнала.
Блок 52 усиления усиливает тактовый сигнал, генерируемый блоком 51 управления SCL, до заданного уровня, необходимого для передачи по линии 14-2 передачи тактового сигнала, и выводит его в линию 14-2 передачи тактового сигнала.
Блок 53 обслуживания H уровня поддерживает уровень линии 14-1 передачи данных на H уровне.
Блок 54 усиления усиливает последовательные данные, которые должны быть переданы по линии 14-1 передачи данных до заданного уровня, выводит его и усиливает последовательные данные, передаваемые по линии 14-1 передачи данных, до уровня, необходимого для обработки в ведущем устройстве 12.
Блок 55 последовательного преобразования преобразовывает параллельные данные, выводимые из машины 63 с конечным числом состояний в последовательные данные, и их выводит.
Детектор 56 ошибки конфликта обнаруживает ошибку конфликта в линии 14-1 передачи данных путем сравнения последовательных данных, выводимых из блока 55 последовательного преобразования, и последовательных данных, передаваемых по линии 14-1 передачи данных.
Детектор 57 ошибки четности использует данные из 5 бит, добавленные для обнаружения битовой ошибки на основании четного числа или нечетного числа, для обнаружения ошибки последовательных данных, передаваемых по линии 14-1 передачи данных, и уведомляет машину 63 с конечным числом состояний о результате обнаружения ошибки.
Блок 58 обнаружения CRC5 ошибки использует данные из 5 бит, добавленные для обнаружения битовой ошибки на основании CRC, для обнаружения ошибки последовательных данных, передаваемых по линии 14-1 передачи данных, и уведомляет машину 63 с конечным числом состояний о результате обнаружения ошибки.
Блок 59 параллельного преобразования преобразует последовательные данные, передаваемые по линии 14-1 передачи данных, в параллельные данные и выводит их.
Детектор 60 ошибки маркера обнаруживает наличие ошибки маркера, проверяя битовую последовательность маркера, содержащегося в параллельных данных, преобразованных блоком 59 параллельного преобразования, и уведомляет машину 63 с конечным числом состояний об обнаружении ошибки.
Детектор 61 ACK/NACK соответствует блоку 23 обнаружения сигнала подтверждения на фиг.1 и обнаруживает ACK или NACK, переданные из ведомого устройства 13, из параллельных данных, преобразованных блоком 59 параллельного преобразования, и уведомляет машину 63 с конечным числом состояний о результате обнаружения (ACK/NACK).
Детектор 62 ошибки преамбулы определяет, имеет ли преамбула, содержащаяся в параллельных данных, преобразованных блоком 59 параллельного преобразования, ошибку и уведомляет машину 63 с конечным числом состояний об обнаружении ошибки.
Машина 63 с конечным числом состояний представляет собой последовательную схему, в которой следующее состояние определяется условиями ввода и текущим состоянием и функционирует как блок 21 передачи/приема и блок 24 предотвращения конфликта на фиг.1. В частности, машина 63 с конечным числом состояний находится в состоянии приема считываемых данных в случае, когда результат обнаружения, полученный детектором 61 ACK/NACK, является ACK, с результатом обнаружения ACK или NACK, полученным детектором 61 ACK/NACK в качестве входного сигнала. С другой стороны, в случае, когда результат обнаружения, полученный детектором 61 ACK/NACK, является NACK, машина 63 с конечным числом состояний игнорирует период тактовых сигналов предотвращения конфликта и первый бит после периода тактовых сигналов предотвращения конфликта, и находится в состоянии передачи сигнала прерывания.
Описанное ранее ведущее устройство 12 выполнено с возможностью предотвратить блокировку IF 11 шины и осуществлять более надежную связь, даже при ошибочном распознавании ACK, переданным ведомым устройством 13, как NACK, как описано выше.
Следует отметить, что хотя пример, в котором ведущее устройство 12 передает команду завершения HDR после преамбулы, следующей за периодом тактовых сигналов предотвращения конфликта, описан в вышеупомянутом варианте осуществления, необязательно передавать команду завершения HDR, если связь может быть восстановлена посредством выполнения операции предотвращения возникновения конфликта.
Например, как показано на фиг.6, ведущее устройство 12 может передать команду перезапуска (перезапуск HDR) для указания перезапуска связи в HDR-режиме после преамбулы после периода тактовых сигналов предотвращения конфликта вместо команды завершения HDR на фиг.3. Как описано выше, в шине IF 11 можно снова осуществлять связь в HDR-режиме ведущим устройством 12, передающего команду перезапуска после прерывания связи в соответствии с прерыванием ведущим устройством.
Следует отметить, что настоящая технология не ограничивается шиной IF 11 в соответствии со стандартом I3C и может применяться к шине IF 11 в соответствии с другими стандартами. Дополнительно, хотя пример конфигурации, в котором ведомые устройства 13-1-13-3 соединены друг с другом по шине IF 11, показанной на фиг.1, например, количество ведомых устройств 13 может быть одним, двумя или тремя или более.
Следует отметить, что процесс обработки, описанный со ссылкой на вышеупомянутые блок-схемы алгоритма, необязательно должен выполняться последовательно в порядке, описанном в виде блок-схем алгоритма, а также включает в себя процесс обработки, выполняемый параллельно или индивидуально (например, параллельная обработка или обработка, которая использует объект). Дополнительно, программа может быть обработана одним CPU или может быть обработана множеством CPUs посредством распределения.
Дополнительно, «система» означает целое устройство, включающее в себя множество устройств.
Дополнительно, вышеупомянутая последовательность обработки может быть выполнена с помощью аппаратного или программного обеспечения. Если последовательность обработки выполняется программным обеспечением, программы, конфигурирующие программное обеспечение, устанавливают в компьютер с носителя информации, на котором хранят программы. В настоящем описании компьютер включает в себя компьютер, встроенный в оборудование и, например, обычно используемый персональный компьютер, который устанавливает различные программы для выполнения различных функций.
Пример конфигурации аппаратного обеспечения
Фиг.7 является блок-схемой, показывающей пример конфигурации аппаратного обеспечения компьютера, который выполняет вышеупомянутую последовательность обработки программами.
В компьютере CPU 101 (центральный процессор), ROM (постоянное запоминающее устройство) 102, RAM (память произвольного доступа) 103 и EEPROM (электронно стираемое и программируемое постоянное запоминающее устройство) 104 взаимно соединены через шину 105. К шине 105 дополнительно подключен интерфейс 106 ввода/вывода. Интерфейс 106 ввода/вывода подключен к линии связи (например, линии 14-1 передачи данных и линии 14-2 передачи тактового сигнала на фиг.1).
В компьютере, сконфигурированном, как описано выше, посредством CPU 101 загружают программы, хранящиеся, например, на ROM 102 и EEPROM 104, в RAM 103 через шину 105 и выполняют программы, при этом, выполняют вышеупомянутую последовательность обработки. Дополнительно, программы, выполняемые компьютером (CPU 101), могут быть заранее сохранены в ROM 102. В качестве альтернативы, программы могут быть установлены или обновлены в EEPROM 104 извне через интерфейс 106 ввода/вывода.
Следует отметить, что настоящая технология может принимать следующие конфигурации.
(1) Устройство связи включает в себя:
блок передачи/приема, который передает/принимает сигнал в/из другого устройства;
блок обнаружения сигнала подтверждения, который обнаруживает один из сигнал подтверждения приема и сигнал не подтверждения приема, сигнал подтверждения приема и сигнал не подтверждения приема, передаваемый из другого устройства, которое приняло сигнал, переданный из блока передачи/приема; и
блок предотвращения конфликта, который подает команду в блок передачи/приема передать сигнал прерывания для указания прерывания связи после игнорирования заданного количества битов после сигнала не подтверждения приема, когда блок обнаружения сигнала подтверждения обнаружил сигнал не подтверждения приема.
(2) Устройство связи по п.(1), в котором
блок передачи/приема передает тактовые сигналы после обнаружения сигнала не подтверждения приема, причем количество тактовых сигналов совпадает с заданным числом.
(3) Устройство связи по п.(2), в котором
блок передачи/приема передает тактовый сигнал, соответствующий количеству бит считываемых данных, переданных из другого устройства, в ответ на передачу команды считывания для указания иному устройству считывать данные, и игнорировать сигнал, по меньшей мере, в течение периода времени передачи тактового сигнала.
(4) Устройство связи по п.(3), в котором
блок передачи/приема передает сигнал прерывания во время второго бита преамбулы двух битов, при передачи считываемых данных из другого устройства, причем преамбулу передают/принимают после считываемых данных.
(5) Устройство связи по любому из п.п. (1) - (4), в котором
блок передачи/приема передает команду для указания прекращения конкретного режима связи после сигнала прерывания.
(6) Устройство связи по любому из п.п. (1) - (4), в котором
блок передачи/приема передает команду для указания перезапуска связи в конкретном режиме связи после сигнала прерывания.
(7) Устройство связи по любому из п.п. (1) - (6) дополнительно включает в себя
блок обнаружения ошибки, который обнаруживает ошибку путем сравнения битовой последовательности сигнала, принятого после преамбулы для обозначения типа данных, подлежащих последующей передаче, и битовой последовательности, подлежащей передаче, в типе, обозначенном преамбулой для передачи, при этом, преамбулу принимают блоком передачи/приема, в котором
блок предотвращения конфликта уведомляет блок передачи/приема передавать сигнал прерывания для указания прерывания связи после передачи тактового сигнала, соответствующего заданному количеству битов, следующего за преамбулой при обнаружении ошибки блоком обнаружения ошибки.
(8) Устройство связи по любому из п.п. (1) - (7), в котором
блок передачи/приема принимает считываемые данные, переданные из другого устройства, и управляет вторым битом преамбулы, переданной/принятой после считываемых данных.
(9) Устройство связи по п.(7), в котором
блок обнаружения ошибки обнаруживает ошибку, выполняя проверку на четность данных, принятых блоком передачи/приема, с одним битом из четности двух битов, содержащихся в данных, как четный и другой бит как нечетный.
(10) Устройство связи по любому из пп. (1) - (9), в котором
блок передачи/приема выполнен с возможностью передавать/принимать сигнал в SDR-режиме (стандартная скорость передачи данных) и HDR-режиме (высокая скорость передачи данных), причем передачу данных осуществляют с нормальной скоростью передачи в SDR-режиме и в HDR-режиме передачу данных осуществляют со скоростью передачи выше, чем скорость передачи в SDR-режиме.
(11) Устройство связи по любому из пп. (1) - (10), в котором
блок передачи/приема осуществляет связь по двум линиям линии передачи данных и линии передачи тактового сигнала, при этом, последовательные данные последовательно передают по одному биту за один раз по линии передачи данных, последовательный тактовый сигнал заданной частоты передают по линии передачи тактового сигнала.
(12) Устройство связи по любому из пп. (1) - (11), в котором
блок передачи/приема выполняет связь, соответствующую стандарту I3C (шина межсоединений интегральных схем).
(13) Способ связи включает в себя:
передачу/прием сигнала в/из другого устройства;
обнаружение одного из сигнала подтверждения приема и сигнала не подтверждения приема, при этом, сигнал подтверждения приема и сигнал не подтверждения приема передают их другого устройства, которое приняло передаваемый сигнал; и
передачу сигнала прерывания для указания прерывания связи после игнорирования заданного количества битов после сигнала не подтверждения приема при обнаружении сигнала не подтверждения приема.
(14) Программа, которая вызывает компьютер выполнять процесс обработки связи, включает в себя этапы:
передачи/приема сигнала в/из другого устройства;
обнаружения одного из сигнала подтверждения приема и сигнала не подтверждения приема, при этом, сигнал подтверждения приема и сигнал не подтверждения приема передают из другого устройства, которое приняло передаваемый сигнал; и
передачи сигнала прерывания для указания прерывания связи после игнорирования заданного количества битов после сигнала не подтверждения приема при обнаружении сигнала не подтверждения приема.
(15) Система связи включает в себя:
первое устройство связи, выполненное с возможностью инициировать управление в шине; и
второе устройство связи, выполненное с возможностью осуществлять связь в соответствии с управлением первым устройством связи, в котором
первое устройство связи включает в себя
блок передачи/приема, который передает/принимает сигнал в/из второго устройства связи;
блок обнаружения сигнала подтверждения, который обнаруживает один из сигнал подтверждения приема и сигнал не подтверждения приема, при этом, сигнал подтверждения приема и сигнал не подтверждения приема передают из второго устройства связи, которое приняло сигнал, переданный из блока передачи/приема; и
блок предотвращения конфликта, который указывает блоку передачи/приема передавать сигнал прерывания для указания прерывания связи после игнорирования заданного количества битов после сигнала подтверждения приема, когда блок обнаружения сигнала подтверждения обнаружил сигнал не подтверждения приема.
Специалисты в данной области техники должны понимать, что возможны различные модификации, комбинации, подкомбинации и изменения в зависимости от требований к конструкции и других факторов, поскольку они находятся в рамках объема прилагаемой формулы изобретения или ее эквивалентов.
Список ссылочных позиций
11 шина IF
12 ведущее устройство
13 ведомое устройство
14-1 линия передачи данных
14-2 линия передачи тактового сигнала
21 блок передачи/приема
22 блок обнаружения ошибки
23 блок обнаружения сигнала подтверждения
24 блок предотвращение конфликта
31 блок передачи/приема
32 блока обнаружения ошибки
51 блок управления SCL
52 усилитель
53 блок обслуживания Н уровня
54 усилитель
55 блок последовательного преобразователя
56 детектор ошибок конфликта
57 детектор ошибок четности
58 блок обнаружения CRC5 ошибки
59 блок параллельного преобразования
60 детектор ошибки маркера
61 детектор ACK/NACK
62 детектор ошибки преамбулы
63 машина с конечным числом состояний
Настоящее изобретение относится к устройству связи, способу связи и системе связи. Технический результат - осуществление более надежной связи. Устройство связи содержит: блок передачи/приема, который передает/принимает сигнал в/из другого устройства; блок обнаружения сигнала подтверждения, который обнаруживает один из сигнала подтверждения приема и сигнала не подтверждения приема, при этом, сигнал подтверждения приема и сигнал не подтверждения приема передают из другого устройства, которое приняло сигнал, переданный из блока передачи/приема; и блок предотвращения конфликта, который указывает блоку передачи/приема передать сигнал прерывания для указания прерывания связи после игнорирования заданного количества битов после сигнала не подтверждения приема при обнаружении блоком обнаружения сигнала подтверждения сигнала не подтверждения приема. 3 н. и 16 з.п. ф-лы, 7 ил.