УСТРОЙСТВО СВЯЗИ, СПОСОБ СВЯЗИ, ПРОГРАММА И СИСТЕМА СВЯЗИ
COMMUNICATION DEVICE, METHOD OF COMMUNICATION, PROGRAM AND COMMUNICATION SYSTEM

Область техники, к которой относится изобретение
Настоящее изобретение относится к устройству связи, способу связи, программе и системе связи и, более конкретно, относится к устройству связи, способу связи, программе и системе связи, обеспечивающие более надежную связь.
Уровень техники
В настоящее время для установления связи между устройствами посредством шины на плате, на которой установлены несколько устройств, например, шина межсоединений интегральных схем (I2C) широко используют шинный интерфейс (IF).
Дополнительно, в последнее время возросла потребность в увеличении скорости передачи данных I2C, и разрабатывают усовершенствованную шину межсоединений интегральных схем (I3C) в качестве стандарта следующего поколения. Посредством I3C ведущее устройство и ведомое устройство могут осуществлять двунаправленную связь с использованием двух сигнальных линий. Например, осуществляют передачу данных от ведущего устройства к ведомому устройству (запись передачи) и передачу данных от ведомого устройства к ведущему устройству (чтение передачи).
Например, патентная литература 1 раскрывает систему цифровой обработки данных, в которой хост-процессор и контроллер подсистемы взаимодействуют по I2C. Кроме того, в патентной литературе 2 раскрыт способ реализации протокола связи, развернутого на более высоком уровне по стандартному протоколу I2C.
Список ссылок
Патентная литература
PTL 1: JP 2000-99448A
PTL 2: JP 2002-175269A
Раскрытие сущности изобретения
Техническая задача
Между тем, как описано выше, I3C предусматривает выполнение обнаружения ошибок с использованием способа, такого как, проверка на четность или циклическая проверка избыточности (CRC), например, между ведущим устройством и ведомым устройством, но также передают и принимают сигналы, для которых такое обнаружение ошибок недоступно. По этой причине, при возникновении ошибки в сигнале, для которого обнаружение ошибок недоступно, увеличивается вероятность возникновения сбоя связи между ведущим устройством и ведомым устройством.
Настоящее изобретение было разработано с учетом таких обстоятельств и обеспечивает более надежную связь.
Решение технической задачи
Устройство связи по первому аспекту настоящего изобретения включает в себя: блок передачи и приема, который передает и принимает сигнал от другого устройства связи; блок обнаружения ошибки, который обнаруживает возникновение ошибки посредством приема блоком передачи и приема преамбулы, указывающей тип данных, подлежащих последующей передаче, и сравнения битовой последовательности сигнала, принятого после преамбулы с битовой последовательностью, которая должна быть передана для типа, указанного преамбулой для передачи; и блок предотвращения конфликта, который, при обнаружении появления ошибки блоком обнаружения ошибки, дает команду блоку передачи и приема передать тактовый сигнал, соответствующий определенному количеству битов после преамбулы, и затем передать сигнал прерывания, дающий указание прекратить коммуникацию по каналу связи.
Способ или программа связи по первому аспекту настоящего изобретения включает в себя: передачу и прием сигнала другим устройством связи; обнаружение возникновения ошибки с помощью преамбулы, указывающей тип данных, подлежащих последующей передаче и приему, и сравнение битовой последовательности сигнала, принятого после преамбулы с битовой последовательностью, которая должна быть передана для типа, указанного для передачи посредством преамбулы; и если обнаружено возникновение ошибки, передачу тактового сигнала, соответствующего определенному количеству битов, следующих за преамбулой, и затем передачу сигнала прерывания, дающего указание прекратить коммуникацию по каналу связи.
В первом аспекте настоящего изобретения передачу и прием сигнала выполняют другим устройством связи, и обнаруживают возникновение ошибки с помощью преамбулы, указывающей, тип данных, подлежащих следующей передаче и приему, и сравнение битовой последовательности сигнала, принятой после преамбулы с битовой последовательностью, которая должна быть передана для типа, указанного для передачи преамбулой. Затем, при обнаружении возникновения ошибки, передают тактовый сигнал, соответствующий определенному количеству битов, следующих за преамбулой, и затем передают сигнал прерывания, дающий указание прекратить коммуникацию по каналу связи.
Система по второму аспекту настоящего изобретения включает в себя: первое устройство связи, выполненное с возможностью управлять передачей данных по шине; и второе устройство связи, выполненное с возможностью осуществлять связь под управлением первого устройства связи. Первое устройство связи включает в себя блок передачи и приема, который передает и принимает сигнал от второго устройства связи, блок обнаружения ошибки, выполненный с возможностью обнаруживать возникновение ошибки, посредством приема блоком передачи и приема преамбулы, определяющей тип данных, подлежащих последующей передаче, и сравнивать битовую последовательность сигнала, принятого после преамбулы, с битовой последовательностью, которая должна быть передана для типа, указанного преамбулой для передачи, и блок предотвращения конфликта, который при обнаружении ошибки блоком обнаружения ошибки, дает команду блоку передачи и приема передать тактовый сигнал, соответствующий определенному количеству битов, следующих за преамбулой, и затем передать сигнал прерывания, дающий указание прекратить коммуникацию по каналу связи.
Во втором аспекте настоящего изобретения связь осуществляют первым устройством связи, выполненным с возможностью управлять передачей данных по шине, и вторым устройством связи, выполненным с возможностью осуществлять связь в соответствии с управлением первым устройством связи. Дополнительно, в первом устройстве связи сигналы передают и принимают на и от второго устройства связи, принимают преамбулу, указывающую тип данных, подлежащих следующей передаче, и обнаруживают появление ошибки путем сравнения битовой последовательности сигнала, принятого после преамбулы, с битовой последовательностью, подлежащей передаче для типа, указанного преамбулой для передачи. Впоследствии, при обнаружении возникновения ошибки, после передачи тактового сигнала, соответствующего определенному количеству битов, следующих за преамбулой, передают сигнал прерывания, дающий указание прекратить коммуникацию по каналу связи.
Полезные результаты изобретения
Согласно первому и второму аспектам настоящего изобретения обеспечивают более надежную связь.
Краткое описание чертежей
Фиг. 1 представляет собой блок-схему, иллюстрирующую примерную конфигурацию варианта осуществления шины IF, использующего настоящую технологию.
Фиг. 2 является схемой, поясняющей ошибку конфликта.
Фиг. 3 является схемой, иллюстрирующей пример формата, который позволяет избежать ошибки конфликта.
Фиг. 4 представляет собой блок-схему алгоритма, которая объясняет процесс связи в DDR режиме ведущего устройства.
Фиг. 5 является схемой, иллюстрирующей примерную конфигурацию ведущего устройства.
Фиг. 6 является схемой, иллюстрирующей другой пример формата, который позволяет избежать ошибки конфликта.
Фиг. 7 является схемой, иллюстрирующей другой пример формата, который позволяет избежать ошибки конфликта.
Фиг. 8 представляет собой блок-схему, иллюстрирующую примерную конфигурацию варианта осуществления компьютера, применяющего настоящую технологию.
Осуществление изобретения
Далее будут подробно описаны конкретные варианты осуществления, применяющие настоящую технологию, со ссылкой на чертежи.
Пример конфигурации шины 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, и ведущее устройство 12 выполнено с возможностью переключаться между этими схемами передачи. Например, в шине IF 11, в зависимости от скорости передачи данных, режим стандартной скорости передачи данных (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 с начала.
Например, между двумя битами проверки на четность в данных, переданных от ведомого устройства 13, блок 22 обнаружения ошибки может рассматривать один как четный, а другой как нечетный и обнаруживать возникновение ошибки путем проведения проверки на четность принятых данных блоком 21 передачи и приема. Следовательно, даже если возникает состояние, при котором линия 14-1 передачи данных не управляется либо ведущим устройством 12, либо ведомым устройством 13, блок 22 обнаружения ошибки выполнен с возможностью все еще определять, являются ли данные корректными.
Блок 23 обнаружения сигнала подтверждения обнаруживает сигнал подтверждения (ACK) или сигнал отрицательного подтверждения (NACK), переданный от ведомого устройства 13, который принимает сигнал, переданный из блока 21 передачи и приема, и, тем самым, подтверждает, успешно ли ведомое устройство 13 приняло информацию, такую как команда или данные. Например, в шине IF 11 предусмотрено, что когда ошибка не возникает в сигнале, и ведомое устройство 13 успешно принимает информацию, такую как команда или данные, ACK должен быть передан от ведомого устройства 13 к ведущему устройству 12. Кроме того, в шине IF 11 предусмотрено, что когда в сигнале возникает ошибка, и ведомое устройство 13 не может принимать информацию, такую как команда или данные, NACK должен быть передан от ведомого устройства 13 к ведущему устройству 12.
Следовательно, в случае обнаружения ACK, переданного от ведомого устройства 13 в ответ на информацию, такую как команда или данные, переданные от ведущего устройства 12, блок 23 обнаружения сигнала подтверждения может подтвердить, что ведомое устройство 13 успешно приняло информацию, такую как команда или данные. С другой стороны, в случае обнаружения NACK, переданного от ведомого устройства 13 в ответ на информацию, такую как команда или данные, переданные от ведущего устройства 12, блок 23 обнаружения сигнала подтверждения может подтвердить, что ведомое устройство 13 не приняло информацию, такую как команда или данные.
Процесс функционирования блока 24 предотвращения конфликта описан ниже со ссылкой на фиг. 3, например, когда блок 21 передачи и приема принимает преамбулу с инструкцией передать CRC-слово, и блок 22 обнаружения ошибки обнаруживает возникновение ошибки маркера или CRC-ошибки в сигнале, принятого после преамбулы, после передают тактовый сигнал, соответствующий определенному количеству битов, следующих за преамбулой, блок 24 предотвращения конфликта указывает блоку 21 передачи и приема передать сигнал прерывания, дающий команду прекратить связь по каналу. Следовательно, блок 24 предотвращения конфликтов выполнен с возможностью предотвратить возникновения конфликта из-за считываемых данных, переданных от ведомого устройства 13, и команды выхода HDR, переданной, например, из ведущего устройства 12.
Дополнительно, если блок 23 обнаружения сигнала подтверждения обнаруживает NACK, например, после игнорирования определенного количества битов, следующих за NACK, блок 24 предотвращения конфликта дает команду блоку 21 передачи и приема передать сигнал прерывания, дающий команду прекратить связь по каналу. Следовательно, блок 24 предотвращения конфликтов выполнен с возможностью предотвратить возникновение конфликта из-за считываемых данных, переданных от ведомого устройства 13, и команды выхода HDR, переданной, например, из ведущего устройства 12.
Ведомое устройство 13 снабжено блоком 31 передачи и приема и блоком 32 обнаружения ошибки.
Блок 31 передачи и приема передает и принимает сигналы к и от ведущего устройства 12 по линии 14-1 передачи данных и линии 14-2 передачи тактового сигнала. Например, блок 31 передачи и приема принимает сигнал, переданный от ведущего устройства 12, как результат управления ведущего устройства 12 линией 14-1 передачи данных в соответствии с синхронизациями последовательного тактового сигнала на линии 14-2 передачи тактового сигнала. Кроме того, блок 31 передачи и приема передает в ведущее устройство 12 путем управления линией 14-1 передачи данных в соответствии с синхронизацией последовательных тактовых сигналов на линии 14-2 передачи тактового сигнала.
Блок 32 обнаружения ошибки обнаруживает ошибку, возникающую в сигнале, принимаемом блоком 31 передачи и приема, аналогично блоку 22 обнаружения ошибки ведущего устройства 12. Дополнительно, при отсутствии ошибки в сигнале, принятом блоком 31 передачи и приема, блок 32 обнаружения ошибки вызывает блок 31 передачи и приема передать в ведущее устройство 12 ACK, информирующий ведущее устройство 12 об успешном приеме информации, переданной сигналом, например, командой или данными. С другой стороны, когда возникает ошибка в сигнале, принятым блоком 31 передачи и приема, блок 32 обнаружения ошибки вызывает блок 31 передачи и приема передать в ведущее устройство 12 NACK, информирующий ведущее устройство 12 о сбое приема информации, переданной посредством сигнала, такого как команда или данные.
Кроме того, при возникновении ошибки в сигнале, принимаемом блоком 31 передачи и приема, обеспечить нормальную связь не предоставляется возможным, например, блок 32 обнаружения ошибок вызывает ведомое устройство 13 игнорировать всю последующую коммуникацию, прекратить передачу ответного сигнала в ведущее устройство 12 и переключается в режим ожидания.
В шине IF 11, сконфигурированной, как указано выше, ведущее устройство 12 и ведомое устройство 13 выполнены с возможностью передавать и принимать сигналы по линии 14-1 передачи данных и линии 14-2 передачи тактового сигнала и могут обеспечить надежную связь, избегая ситуации возникновения конфликтов посредством блока 24 предотвращения конфликтов.
Объяснение ситуации возникновения конфликта
На этом этапе, прежде чем описывать технологию предотвращения возникновения конфликта блоком 24 предотвращения конфликта, будет приведено описание случая возникновения конфликта со ссылкой на фиг. 2.
В шине IF 11 предусмотрено, что в DDR режиме для указания типа данных для последующей передачи используют 2-битовый сигнал, называемый преамбулой. Однако, поскольку обнаружение ошибок по четности или CRC не доступно для преамбулы, если в преамбуле возникает ошибка, то ошибка может быть не обнаружена.
Например, в преамбуле после того, как ведомое устройство 13 передает считываемые данные в соответствии с командой считывания с инструкцией читать данные от ведущего 12, предусмотрено, что первый бит управляется ведомым устройством 13, тогда как второй бит хранится на Н уровне (High-Keeper). Дополнительно, посредством первого бита ведомое устройство 13 может уведомить ведущее устройство 12 о том, что, либо CRC-слово, или считываемые данные должны быть далее переданы. Например, в случае передачи CRC-слова, следующего за преамбулой, предусмотрено, что первый бит преамбулы после передачи считываемых данных устанавливают на 0. С другой стороны, в случае передачи считываемых данных после преамбулы, предусмотрено, что первый бит преамбулы после передачи считываемых данных устанавливают на 1.
Однако, если в первом бите этой преамбулы возникает 1-битовая ошибка и, например, значение бит инвертируется, например, то ведущее устройство 12 неправильно распознает переданные далее считываемые данные и переданное далее CRC-слово.
Другими словами, как показано в верхней части фиг. 2, в случае передачи считываемых данных ведомое устройство 13 устанавливает значение первого бита преамбулы на 1 и передает считываемые данные (DDR данные) после преамбулы. Следует отметить, что на фиг. 2, участок с серой штриховкой представляет собой участок, управляемый ведомым устройством 13, и участок с нанесенным диагональным штрихованием представляет собой участок, удерживаемый на Н уровне.
Напротив, в случае, при наличии в первом бите преамбулы 1-битной ошибки, первый бит преамбулы становится 0, как показано в нижней части фиг. 2, ведущее устройство 12 неверно распознает, что CRC-слово (DDR CRC) должно быть передано от ведомого устройства 13. Следовательно, в этом случае, ведущее устройство 12 после приема 10 бит, соответствующих CRC-слову (маркер (0xC), CRC5, и Prepare = Setup), передает команду выхода HDR (HDR Exit) с инструкцией завершить коммуникацию в HDR режиме.
В результате, возникает вероятность наличия конфликта между (второй половиной) считываемых данных, переданной от ведомого устройства 13, и командой выхода HDR, переданной от ведущего устройства 12. Следовательно, после этого можно предположить, что, хотя ведущее устройство 12 передало команду выхода HDR, ведомое устройство 13 не может нормально принимать команду выхода HDR и, следовательно, не может выйти из режима HDR, и шина IF 11 блокируется, что приводит в состоянии, в котором связь недоступна.
Соответственно, в шине IF 11, если ведущее устройство 12 приняло преамбулу, указывающую передачу CRC-слова, но сигнал, принятый после преамбулы, не соответствует CRC-слову (то есть, если возникает ошибка маркера или ошибка CRC), предполагают, что в преамбуле произошла 1-битная ошибка. Дополнительно, в этом случае предусмотрено, что ведущее устройство 12 после передачи дополнительного тактового сигнала определенного количества битов, следующих за CRC-словом, передает сигнал прерывания, дающий указание прекратить связь по каналу. В результате, даже если имеет место 1-битная ошибка, аналогичная приведенной выше, можно избежать возникновения конфликта между считываемыми данными, переданными от ведомого устройства 13, и командой выхода HDR, переданной от ведущего устройства 12.
Объяснение случая предотвращения конфликта
Фиг. 3 иллюстрирует формат, в котором в шине IF 11 ведущее устройство 12 добавляет тактовый сигнал для предотвращения конфликта для предотвращения возникновения конфликта из-за 1-битной ошибки в первом бите преамбулы после передачи считываемых данных.
Как показано на фиг. 3, в шине IF 11, если ведущее устройство 12 указывает, что в преамбуле после считываемых данных (DDR данные), переданных от ведомого устройства 13, произошла ошибка, то предусмотрено, что ведущее устройство 12 передает 9-битный дополнительный тактовый сигнал, соответствующий разнице между CRC-словом и считываемыми данными. Дополнительно, игнорируют данные, принятые во время передачи дополнительных тактовых сигналов.
Другими словами, как описано со ссылкой на фиг. 2, предполагают, что в первом бите преамбулы после считываемых данных возникает 1-битовая ошибка, и хотя ведомое устройство 13 передает считываемые данные, ведущее устройство 12 неправильно распознает, что должно быть передано CRC-слово. В этом случае, ведущее устройство 12 обнаруживает, что ошибка маркера или CRC-ошибка возникает в 9 битах, соответствующих CRC-слову, и можно сделать вывод о том, что эти ошибки вызваны возникновением 1-битной ошибки в преамбуле.
В этот момент, на шине IF 11 предусмотрено, что ведомое устройство 13 принимает команду считывания (READ CMD) и передает 18-битные считываемые данные (DDR данные) после последующей преамбулы. Кроме того, в шине IF 11 предусмотрено, что в преамбуле после того, как считываемые данные передают от ведомого устройства 13, первый бит управляется ведомым устройством 13, тогда как второй бит управляется ведущим устройством 12. Дополнительно, в шине IF 11, в случае, когда второй бит преамбулы равен 0, обозначается как сигнал прерывания, дающий команду от ведущего устройства 12 ведомому устройству 13 выполнить прерывание, которое завершает связь по каналу. Следует отметить, что для выполнения достоверного прерывания, ведущее устройство 12 непрерывно управляет вторым битом преамбулы, переданного и принятого после считываемых данных.
Следовательно, как показано на фиг. 3, когда второй бит преамбулы, следующей за дополнительными тактовыми сигналами, устанавливают на 0, ведомое устройство 13 обнаруживает, что сигнал прерывания был передан от ведущего устройства 12 и способен прервать передачу считываемых данных. В результате, если ведущее устройство 12 передает команду выхода HDR (HDR Exit) после преамбулы, ведомое устройство 13 может выйти из режима HDR в соответствии с командой выхода HDR. После этого ведущее устройство 12 и ведомое устройство 13 перезапускают связь из SDR режима.
Другими словами, в случае обнаружения ошибки маркера или CRC-ошибки ведущее устройство 12 передает ошибку преамбулы. Впоследствии, как показано на фиг. 2, ведущее устройство 12 не передает команду выхода HDR сразу после передачи CRC-слова, но вместо этого, как показано на фиг. 3, передает дополнительные тактовые сигналы после CRC-слова, передает преамбулу после дополнительных тактовых сигналов, и затем передает команду выхода HDR.
В результате, даже если ведущее устройство 12 обнаруживает, что первый бит равен 0 в преамбуле после приема считываемых данных, ведущее устройство 12 может предотвратить возникновение конфликта, как описано со ссылкой на фиг. 2. Иными словами, даже если преамбула, посредством которой ведомое устройство 13 передает считываемые данные, неправильно распознается как преамбула, посредством которой ведущее устройство 12 передает CRC-слово, можно избежать блокировки IF 11 шины и обеспечить более надежную связь.
Способ связи, который позволяет избежать возникновения конфликтов
Фиг. 4 представляет собой блок-схему последовательности операций, поясняющую процесс связи (DDR Read), посредством которого ведущее устройство 12 считывает данные из ведомого устройства 13 в DDR режиме, который является одним из HDR режимов.
На этапе S11 ведущее устройство 12 выполняет процесс переключения режима связи из SDR режима в HDR режим. В частности, в ведущем устройстве 12 блок 21 передачи и приема управляет линией 14-1 передачи данных и линией 14-2 передачи тактового сигнала и в SDR режиме передает команду широковещательной передачи (0x7E + R/W = 0), указывающую, что команда будет передана всем ведомым устройствам 13, составляющим шину IF 11, одновременно. После этого, в ведущем устройстве 12, когда блок 23 обнаружения сигнала подтверждения принимает ACK, переданный от каждого ведомого устройства 13, чтобы подтвердить успешный прием команды широковещательной передачи, блок 21 передачи и приема передает общий командный код для входа в HDR режим (ENTHDR CCC (0x20)).
На этапе S12 блок 21 передачи и приема ведущего устройства 12 управляет линией 14-1 передачи данных и линией 14-2 передачи тактового сигнала для передачи команды считывания.
На этапе S13 блок 21 передачи и приема принимает считываемые данные, переданные от ведомого устройства 13, в ответ на команду считывания, переданные на этапе S12, и, дополнительно также принимает преамбулу, переданную после считываемых данных.
На этапе S14 блок 21 передачи и приема определяет, содержит ли преамбула, принятая на этапе S13, передачу считываемых данных или CRC-слово.
На этапе S14, если блок 21 передачи и приема определяет, что преамбула определяет передачу считывающих данных, процесс возвращается к этапу S13, и после этого аналогичный процесс повторяется. С другой стороны, на этапе S14, если блок 21 передачи и приема определяет, что преамбула указывает передачу CRC-слова, процесс переходит к этапу S15.
На этапе S15 блок 21 передачи и приема принимает сигнал, переданный после преамбулы, принятой на этапе S13, и блок 22 обнаружения ошибок определяет, происходит ли ошибка в сигнале.
На этапе S15, если блок 22 обнаружения ошибок определяет, что в сигнале, передаваемом после преамбулы, указывающей передачу CRC-слова, возникает ошибка, процесс переходит к этапу S16. Другими словами, в этом случае, если обнаруживается ошибка маркера или CRC-ошибка блоком 22 обнаружения ошибки, блок 24 предотвращения конфликта сообщает, что в преамбуле произошла ошибка.
На этапе S16 блок 22 обнаружения ошибки передает дополнительный тактовый сигнал, как описано со ссылкой на фиг. 3, и после этого инструктирует блок 21 передачи и приема передать сигнал прерывания, дающий команду для завершения связи по каналу. Соответственно, блок 21 передачи и приема передает сигнал прерывания в ведомое устройство 13 после передачи дополнительного тактового сигнала.
После обработки на этапе S16 блок 21 передачи и приема передает команду выхода HDR после дополнительного тактового сигнала. Кроме того, даже в случае определения того, что ошибка не возникает на этапе S15, на этапе S17 блок 21 передачи и приема передает команду выхода HDR. Следовательно, завершают процесс связи считывания данных с ведомого устройства 13 (DDR Read) в DDR режиме с помощью ведущего устройства 12.
Как и выше, в шине IF 11, даже если в преамбуле имеется 1-разрядная ошибка, предоставляющая команду для передачи считывающих данных, передаваемых ведомым устройством 13, можно избежать возникновения конфликта и обеспечить более надежную связь.
Схема ведущего устройства
Далее на фиг. 5 показана схема, иллюстрирующая примерную конфигурацию ведущего устройства 12.
Как показано на фиг. 5, ведущее устройство 12 снабжено блоком 51 управления SCL, блоком 52 усиления, блоком 53 поддержки Н уровня, блоком 54 усиления, блоком 55 последовательного преобразования, детектором 56 ошибки конфликта, детектором 57 ошибки четности, блоком 58 обнаружения ошибок CRC5, блоком 59 параллельного преобразования, детектором 60 ошибки маркера, детектором 61 ACK/NACK, детектором 62 ошибки преамбулы и машиной 63 с конечным числом состояний (FSM).
Блок 51 управления SCL, в котором сигнал на частоте опорного выходного сигнала из машины 63 с конечным числом состояний, генерирует последовательный тактовый сигнал для подачи ведомому устройству 13 по линии 14-2 передачи тактового сигнала и управляет подачей тактового сигнала по линии 14-2.
Блок 52 усиления усиливает тактовый сигнал, генерируемый блоком 51 управления SCL, до определенного уровня, необходимого для передачи по линии 14-2 передачи тактового сигнала, и выводит сигнал в линию 14-2 передачи тактового сигнала.
Блок 53 поддержки Н уровня поддерживает уровень линии 14-1 передачи данных на Н уровне.
Блок 54 усиления усиливает и выводит последовательные данные, передаваемые по линии 14-1 передачи данных до определенного уровня, и усиливает последовательные данные, передаваемые по линии 14-1 передачи данных, до уровня, необходимого для внутренней обработки ведущего устройства 12.
Блок 55 последовательного преобразования преобразует и выдает параллельные данные, выводимые из машины 63 с конечным числом состояний, в виде последовательных данных.
Детектор 56 ошибки конфликта сравнивает последовательные данные, выводимые из блока 55 последовательного преобразования, с последовательными данными, передаваемые по линии 14-1 передачи данных, и тем самым обнаруживает ошибку конфликта на линии 14-1 передачи данных.
Детектор 57 ошибки четности, использующий бит четности, добавленный для обнаружения битовой ошибки на основании нечетности или четности, обнаруживает ошибку в последовательных данных, передаваемых по линии 14-1 передачи данных, и сообщает результат обнаружения ошибки в машину 63 с конечным числом состояний.
Блок 58 обнаружения ошибок CRC5 соответствует блоку 22 обнаружения ошибки на фиг. 1, и используют 5-битовые данные, добавленные для обнаружения битовой ошибки на основе CRC, обнаруживает ошибку в последовательных данных, передаваемых по линии 14-1 передачи данных, и сообщает результат обнаружения ошибки в машину 63 с конечным числом состояний.
Блок 59 параллельного преобразования преобразует и выводит последовательные данные, передаваемые по линии 14-1 передачи данных в виде параллельных данных.
Детектор 60 ошибки маркера соответствует блоку 22 обнаружения ошибки на фиг. 1, и путем проверки битовой последовательности маркера, содержащейся в параллельных данных, преобразованных блоком 59 параллельного преобразования, обнаруживает, факт наличия ошибки в маркере, и сообщает результат обнаружения ошибки в машину 63 с конечным числом состояний.
Детектор 61 ACK / NACK соответствует блоку 23 обнаружения сигнала подтверждения на фиг. 1, обнаруживает из параллельных данных, преобразованных блоком 59 параллельного преобразования, ACK или NACK, переданные из ведомого устройства 13, и сообщает результат обнаружения (ACK / NACK) в машину 63 с конечным числом состояний.
Детектор 62 ошибки преамбулы определяет, произошла ли ошибка в преамбуле, содержащейся в параллельных данных, преобразованных блоком 59 параллельного преобразования, и сообщает результат обнаружения ошибки в машину 63 с конечным числом состояний.
Машина 63 с конечным числом состояний представляет собой последовательную схему, следующее состояние которой определяется в соответствии с условием ввода и текущим состоянием и функционирует, например, как блок 21 передачи и приема и блок 24 предотвращения конфликта на фиг. 1. Другими словами, машина 63 с конечным числом состояний получает результирующие данные обнаружения ошибок из блока 58 обнаружения ошибок CRC5 и детектора 60 ошибки маркера в качестве входных данных, и при отсутствии, как ошибки маркера, так и ошибки CRC, переходит в состояние, которое обычно заканчивает HDR режим. С другой стороны, при наличии ошибки маркера и ошибки CRC, машина 63 с конечным числом состояний передает дополнительные тактовые сигналы после CRC-слова и переходит в состояние передачи сигнала прерывания вторым битом последующей преамбулы.
Ведущее устройство 12 сконфигурировано таким образом и, как описано выше, даже если преамбула, дающая команду на передачу считываемых данных, переданных ведомым устройством 13, неверно распознана как преамбула, которой передают CRC-слово, можно предотвратить блокировку шины IF 11 и обеспечить более надежную связь.
Однако в шине IF 11, когда количество бит в CRC-слове составляет 9 бит (4-битовый маркер и 5-битовый CRC5), которое отличается от количества бит в считываемых данных (18 бит), возникает конфликт, как описано ранее. Соответственно, например, при определении формата, в котором количество бит в CRC-слове становится таким же, как и количество бит в считываемых данных, и составляет 18 бит, можно избежать возникновения конфликта.
Другими словами, как показано на фиг. 6, выполняют выравнивание слова путем принятия в качестве формата CRC-слова формата, в котором 9 зарезервированных битов были вставлены между маркером (маркер (0xC)) и CRC5. Таким образом, отсутствует необходимость передавать дополнительные тактовые сигналы. Количество зарезервированных бит соответствует разностному значению между количеством бит в маркере и CRC5 (9 бит) и количеством бит в считываемых данных (18 бит). Дополнительно, даже в случае использования CRC-слова в таком формате, если ведущее устройство 12 обнаруживает любую ошибку маркера, ошибку CRC, и принимает CRC-слово определенной длины или меньшей после приема преамбулы с битовой последовательностью 0 и 1, чтобы безопасно остановить передачу ведомого устройства 13, ведущее устройство 12 впоследствии может завершить связь аналогично нормальному процессу прерывания коммуникации.
Кроме того, как показано на фиг. 6, связь может быть завершена безопасно ранее, когда управление линией 14-1 передачи данных должно быть переключено с ведомого устройства 13 на ведущее устройство 12 в соответствии с битом сразу после приема CRC-слова.
Следует отметить, что, хотя вариант осуществления, описанный выше со ссылкой на фиг. 3, описывает пример, в котором ведущее устройство 12 передает команду выхода HDR после преамбулы после передачи дополнительного тактового сигнала, конфигурация не ограничивается передачей команды выхода HDR, поскольку конфликт можно избежать и связь может быть восстановлена.
Например, как показано на фиг. 7, при этом, в преамбуле после передачи дополнительных тактовых сигналов, вместо команды выхода HDR на фиг. 3, ведущее устройство 12 может передать команду перезапуска HDR (перезапуск HDR), дающую команду для перезапуска связи в HDR режиме. Таким образом, в шине IF 11 после того, как связь прекращается, в соответствии с командой на прерывание связи ведущего устройства, связь может быть возобновлена с помощью команды перезапуска HDR.
Следует отметить, что, например, блок 24 предотвращения конфликта также может определить наличие ошибки, если блок 21 передачи и приема принимает CRC-слово вместо приема считываемых данных определенной длины и инструктирует блок 21 передачи и приема передавать сигнал прерывания после передачи дополнительных тактовых сигналов, как описано ранее.
Следует отметить, что настоящая технология не ограничивается шиной IF 11, соответствующей стандарту I3C, и может также применяться к шине IF 11, соответствующей другому стандарту. Кроме того, в шине IF 11, проиллюстрированной на фиг. 1, показана примерная конфигурация, в которой подключены ведомые устройства 13-1-13-3, но также могут быть один или два ведомых устройства 13 или три или более ведомых устройств 13.
Следует понимать, что операции, описанные со ссылкой на блок-схему последовательности операций, описанные ранее, не ограничиваются процессом последовательной обработки после порядка, изображенного на блок-схеме алгоритма, но могут также обрабатываться параллельно или индивидуально (например, посредством параллельной обработки или объектно-ориентированной обработке, например). Кроме того, хотя программа может быть обработана одним процессором, программа также может обрабатываться распределенным образом множеством CPUs.
Кроме того, в настоящей спецификации термин «система» представляет собой совокупность устройства, состоящего из множества устройств.
Кроме того, вышеупомянутая последовательность выполнения операций может быть выполнена посредством аппаратного обеспечения и также может выполняться программным обеспечением. В случае выполнения последовательности операций посредством программного обеспечения, программа, составляющая такое программное обеспечение, может быть установлена с носителя программы, хранящего программу, на компьютер, встроенный в специализированное оборудование, или, альтернативно, на компьютер, способный выполнять различные функции посредством, например, установки различных программ, таких как персональный компьютер общего назначения.
Пример конфигурации аппаратного обеспечения
Фиг. 8 представляет собой блок-схему, иллюстрирующую примерную аппаратную конфигурацию компьютера, который выполняет вышеупомянутую последовательность процессов в соответствии с программой.
В компьютере блок (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), в котором
если преамбула, принятая блоком передачи и приема, указывает передачу слова циклической проверки избыточности (CRC), включающего в себя маркер и CRC5, но обнаруживают ошибку маркера или CRC-ошибку блоком обнаружения ошибки на основании битовой последовательности в сигнале, принятом после преамбулы,
блок предотвращения конфликта вызывает передачу сигнала прерывания после передачи, следуя за преамбулой, тактового сигнала в соответствии с количеством бит в CRC-слове, и дополнительного тактового сигнала, соответствующего разности между количеством бит в CRC-слове и количеством бит в считываемых данных, считываемые с другого устройства связи.
(3). Устройство связи по п. (2), в котором блок предотвращения конфликта игнорирует сигнал, принимаемый блоком передачи и приема во время передачи дополнительного тактового сигнала.
(4). Устройство связи по п. (3), в котором блок передачи и приема передает сигнал прерывания во время второго бита 2-битовой преамбулы, переданной и принимаемой после считываемых данных, когда считываемые данные передают от другого устройства связи.
(5). Устройство связи по п. (2), в котором
если преамбула, принятая блоком передачи и приема, указывает передачу слова циклической проверки избыточности (CRC), включающего в себя маркер и CRC5, но обнаруживают ошибку маркера или ошибку CRC блоком обнаружения ошибки на основании битовой последовательности в сигнале, принятом после преамбулы,
блок предотвращения конфликта вызывает передачу сигнала прерывания после передачи тактового сигнала с количеством битов, соответствующих CRC-слову, в котором используют формат, составленный из маркера, CRC5 и количества зарезервированных битов, соответствующих разности между маркером и CRC5 и количеством бит, когда данные считывают с другого устройства связи.
(6). Устройство связи по любому из пунктов (1) - (5), в котором блок передачи и приема передает после сигнала прерывания команду, дающую инструкцию выйти из конкретного режима связи.
(7). Устройство связи по любому из пунктов (1) - (5), в котором блок передачи и приема передает после сигнала прерывания команду, дающую инструкцию перезапустить связь в конкретном режиме связи.
(8). Устройство связи по любому из пунктов (1) - (7), дополнительно включающее в себя:
блок обнаружения сигнала подтверждения, который обнаруживает либо сигнал подтверждения, либо сигнал отрицательного подтверждения, переданный от другого устройства связи, который принял сигнал, переданный из блока передачи и приема, в котором
при обнаружении сигнала отрицательного подтверждения блоком обнаружения сигнала подтверждения, блок предотвращения конфликта предписывает блоку передачи и приема передавать сигнал прерывания после игнорирования некоторого количества битов после сигнала отрицательного подтверждения.
(9). Устройство связи по любому из пунктов (1) - (8), в котором блок передачи и приема принимает считываемые данные, считанные с другого устройства связи, и непрерывно управляет вторым битом преамбулы, переданной и принятой после считываемых данных.
(10). Устройство связи по любому из пунктов (1) - (9), в котором блок передачи и приема управляет линией передачи данных с бита сразу после приема слова циклической проверки избыточности (CRC), переданного другим устройством связи, управляя линией передачи данных.
(11). Устройство связи по любому из пунктов (1) - (10), в котором между двумя битами четности, содержащиеся в данных, блок обнаружения ошибки рассматривает один как четный, и другой как нечетный и обнаруживает возникновение ошибки, выполняя проверку на четность данных, принятых блоком передачи и приема.
(12). Устройство связи по любому из пунктов (1) - (11), в котором блок передачи и приема выполнен с возможностью передавать и принимать сигнал в режиме стандартной скорости передачи данных (SDR), в котором передачу данных выполняют со стандартной скоростью передачи, и в режиме высокой скорости передачи данных (HDR), в котором передачу данных выполняют на более высокой скорости передачи, чем SDR режим.
(13). Устройство связи по любому из пунктов (1) - (12), в котором блок передачи и приема осуществляет связь по двум сигнальным линиям, а именно, линию передачи данных, которая последовательно передает последовательные данные по одному биту за раз, и линию передачи тактового сигнала, которая передает последовательные тактовые сигналы определенной частоты.
(14). Устройство связи по любому из пунктов (1) - (13), в котором блок передачи и приема осуществляет связь в соответствии со стандартом усовершенствованной шины межсоединений интегральных схем (I3C).
(15). Способ связи, включающий в себя:
передачу и прием сигнала другим устройством связи;
обнаружение возникновения ошибки путем получения преамбулы, указывающей тип данных, подлежащих последующей передаче, и сравнение битовой последовательности сигнала, принятого после преамбулы, с битовой последовательностью, которая должна быть передана для типа, указанного для передачи преамбулой; и
если обнаружено возникновение ошибки, передачу тактового сигнала, соответствующего определенному количеству битов, следующих за преамбулой, и затем передачу сигнала прерывания, дающего указание прекратить связь.
(16). Программа, вызывающая выполнение компьютером процесса связи, включающего в себя:
передачу и прием сигнала другим устройством связи;
обнаружение возникновения ошибки путем получения преамбулы, указывающей тип данных, подлежащих последующей передаче, и сравнение битовой последовательности сигнала, принятого после преамбулы, с битовой последовательностью, которая должна быть передана для типа, указанного для передачи преамбулой; и
если обнаружено возникновение ошибки, передачу тактового сигнала, соответствующего определенному количеству битов, следующих за преамбулой, и затем передачу сигнала прерывания, дающего указание прекратить связь.
(17). Система, включающая в себя:
первое устройство связи, имеющее инициативу управления на шине; и
второе устройство связи, которое осуществляет связь под управлением первого устройства связи, в котором
первое устройство связи включает в себя
блок передачи и приема, который передает и принимает сигнал из второго устройства связи,
блок обнаружения ошибки, который обнаруживает возникновение ошибки, посредством приема блоком передачи и приема преамбулы, указывающей тип данных, подлежащих последующей передаче, и сравнение битовой последовательности сигнала, принятого после преамбулы, с битовой последовательностью, которая должна быть передана для типа, указанного для передачи преамбулой, и
блок предотвращения конфликта, который, при обнаружении ошибки блоком обнаружения ошибок, инструктирует блок передачи и приема передавать тактовый сигнал, соответствующий определенному количеству битов после преамбулы, и затем передавать сигнал прерывания, дающий команду прерывать связь.
Следует отметить, что настоящий вариант осуществления не ограничивается описанным выше вариантом осуществления, и возможны различные модификации в пределах объема, который находится в рамках сущности настоящего изобретения.
Список ссылочных позиций
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 машина с конечным числом состояний.