Код документа: RU2566977C1
Область техники, к которой относится изобретение
[0001] Данное изобретение относится к устройству управления автомобильным двигателем, которое определяет целевое значение управления актуатора на основе множества рабочих условий, а более конкретно, к устройству управления двигателем, которое вычисляет целевое значение управления актуатора с помощью многоядерного процессора, имеющего множество ядер.
Уровень техники
[0002] В последние годы, как раскрыто, например, в публикации заявки на патент (Япония) номер 2011-081539 (JP-2011-081539 A), использование устройства вычисления, которое имеет множество ядер ЦПУ, установленных на одном полупроводниковом кристалле, а именно, многоядерного процессора, предложено в различных областях техники. Как раскрыто, например, в публикации заявки на патент (Япония) номер 2008-269487 (JP-2008-269487 A), использование многоядерного процессора также пояснено в области техники управления автомобильными двигателями. Область техники, раскрытая в публикации заявки на патент (Япония) номер 2008-269487 (JP-2008-269487 A), представляет собой область техники, предназначенную для того, чтобы уменьшать потребление электроэнергии в случае, если многоядерный процессор используется в устройстве управления двигателем. Согласно этой области техники, когда конкретная обработка управления выполняется в ходе прекращения управления двигателем, рабочий режим микрокомпьютера задается как режим низкого потребления электроэнергии, который отличается от рабочего режима в ходе работы двигателя. В режиме низкого потребления электроэнергии, число ядер, используемых посредством микрокомпьютера, задается меньшим, чем в ходе работы двигателя. В ходе прекращения управления двигателем электроэнергия не формируется из генератора переменного тока и т.п., как в ходе работы двигателя, а кроме того, бортовой аккумулятор не заряжается. Следовательно, величина потребления электроэнергии, за счет которой аккумулятор заряжается, быстро увеличивается по мере того, как возрастает число ядер, которые работают в ходе выполнения конкретной обработки управления.
[0003] Одно преимущество использования многоядерного процессора заключается в его высоких возможностях обработки. Более высокие возможности обработки могут быть получены из многоядерного процессора вместо одноядерного процессора, имеющего одно ядро ЦПУ. Высокие возможности обработки являются стимулом для того, чтобы использовать многоядерный процессор в устройстве управления двигателем. Это обусловлено тем, что число актуаторов, установленных на двигателе, и число их типов постоянно возрастает в последние годы. Чтобы надлежащим образом управлять работой двигателя, целевые значения управления актуаторов должны задаваться равными надлежащим значениям, соответствующим рабочему условию двигателя. Следовательно, оптимизационное вычисление выполняется в устройстве управления традиционного двигателя, но вычислительная нагрузка при выполнении оптимизационного вычисления увеличивается по мере того, как возрастает число актуаторов и число типов актуаторов. Таким образом, предполагается, что возможностей обработки одноядерного процессора, который используется в устройстве управления традиционного двигателя, может в конечном счете становиться недостаточно для постоянно увеличивающейся вычислительной нагрузки. Использование многоядерного процессора имеет большое преимущество в области техники управления двигателем, в которой вычислительная нагрузка по оценкам постоянно растет в настоящее время.
[0004] Тем не менее, возможности обработки многоядерного процессора не определяются просто посредством числа ядер. Чтобы повышать возможности обработки, множество ядер должны эффективно управляться. С этой целью, требуется изобретение программного обеспечения, которое управляет ядрами. Например, задачи могут распределяться по множеству ядер и обрабатываться параллельно в многоядерном процессоре. Тем не менее, возможности обработки в целом значительно отличаются для способа параллелизации.
Документы предшествующего уровня техники
Патентные документы
[0005] Патентный документ 1. Публикация заявки на патент (Япония) номер 2008-269487 (JP-2008-269487 A)
Патентный документ 2. Публикация заявки на патент (Япония) номер 2011-081539 (JP-2011-081539 A)
Сущность изобретения
[0006] Цель изобретения заключается в том, чтобы позволять вычислять целевое значение управления актуатора или целевые значения управления множества актуаторов, связанные с управлением двигателем, на высокой скорости с помощью многоядерного процессора. В таком случае, для достижения цели, изобретение предоставляет устройство управления двигателем следующим образом.
[0007] Устройство управления двигателем, предоставленное посредством изобретения, имеет многоядерный процессор, в котором множество ядер размещаются в форме решеток. Решетки, упомянутые в данном документе, означают плоские решетки, но их рисунок не ограничивается. В дополнение к квадратным решеткам и прямоугольным решеткам, которые, в общем, приспосабливаются в качестве рисунка компоновки ядер, также могут приспосабливаться другие рисунки, к примеру, ромбовидные решетки и т.п.
[0008] Изобретение имеет два конкретных предпочтительных режима. Согласно первому режиму изобретения, множество ядер, которые размещаются в двумерной ортогональной системе координат, имеющей оси, представляющие первое рабочее условие и второе рабочее условие, соответственно, ассоциированы с множеством ядер, которые установлены на многоядерном процессоре на одной и той же линии на уровне "один на один". Первое рабочее условие и второе рабочее условие являются рабочими условиями, которые являются особенно важными при ассоциировании рабочей величины каждого из актуаторов с регулируемой переменной двигателя, и один характерный пример представляет собой группу из частоты вращения двигателя и нагрузки на двигатель.
[0009] Рисунок компоновки точек решетки в двумерной ортогональной системе координат является рисунком, идентичным рисунку компоновки ядер в многоядерном процессоре. Ядра, с которыми ассоциированы точки решетки в двумерной ортогональной системе координат, могут представлять собой не все ядра, которые установлены на многоядерном процессоре. Например, в случае, если ядра размещаются в прямоугольных решетках N*M, точки решетки могут быть ассоциированы только с некоторыми ядрами, а именно, с ядрами в зоне n*m. Программа вычисления для вычисления оптимального значения управления каждого из актуаторов в соответствующей одной из ассоциированных точек решетки выделяется заранее соответствующему одному из ядер, с которыми, соответственно, ассоциированы точки решетки. В случае, если каждое из ядер имеет локальное запоминающее устройство, выделяемая программа вычисления оптимальных значений управления может сохраняться в локальном запоминающем устройстве. В этом случае, программа интерполяционного вычисления для нижеописанного интерполяционного вычисления также может сохраняться в локальном запоминающем устройстве каждого из ядер. В дальнейшем в этом документе, из ядер, которые установлены на многоядерном процессоре, те ядра, которым выделяются программы вычисления оптимальных значений управления, соответственно, упоминаются в качестве ядер для вычисления оптимальных значений управления.
[0010] Множество рабочих областей задается в вышеуказанной двумерной ортогональной системе координат посредством множества точек решетки, которые размещаются в ней. Например, в случае, если рисунок компоновки точек решетки состоит из прямоугольных решеток, одна рабочая область задается посредством четырех точек решетки, которые размещаются в четырех углах прямоугольника, соответственно. Текущая рабочая точка, которая определяется посредством соответствующих текущих значений первого рабочего условия и второго рабочего условия, принадлежит одной из рабочих областей в двумерной ортогональной системе координат. Каждое из ядер для вычисления оптимальных значений управления программируется, чтобы, в случае, если рабочая область, которой принадлежит текущая рабочая точка, представляет собой область, которая задается посредством точек решетки, ассоциированных с самим ядром для вычисления оптимальных значений управления, передавать в ядро для интерполяционного вычисления оптимальные значения управления в релевантных точках решетки, которые вычисляются посредством самого ядра для вычисления оптимальных значений управления. Ядро для интерполяционного вычисления программируется, чтобы вычислять через интерполяцию оптимальное значение управления в текущей рабочей точке, с использованием оптимальных значений управления во всех точках решетки, которые задают рабочую область, которой принадлежит текущая рабочая точка. Многоядерный процессор выводит оптимальное значение управления в текущей рабочей точке, которое получается посредством вычисления через интерполяцию посредством ядра для интерполяционного вычисления, в качестве целевого значения управления каждого из актуаторов.
[0011] Иными словами, согласно первому режиму изобретения, устройство управления двигателем вычисляет оптимальные значения управления в соответствующих точках решетки посредством множества ядер, ассоциированных с множеством точек решетки, которые двумерным образом окружают текущую рабочую точку, и вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке на основе результата их вычисления. Согласно этому режиму, вычисления оптимальных значений управления в соответствующих точках решетки выполняются параллельно посредством отдельных ядер. Следовательно, время, требуемое для того, чтобы вычислять целевое значение управления каждого из актуаторов, существенно уменьшается по сравнению со случаем, в котором используется традиционный одноядерный процессор. Кроме того, когда данные по оптимальным значениям управления, которые вычисляются посредством ядер, соответственно, предоставляются для ядра для интерполяционного вычисления, возникает задержка на связь, соответствующая физическому расстоянию между ними. Тем не менее, согласно первому режиму изобретения, разность во времени задержки на связь между ядрами может быть уменьшена. Это обусловлено тем, что компоновка точек решетки в двумерной ортогональной системе координат соответствует компоновке ядер в многоядерном процессоре, и, следовательно, оптимальное значение управления в каждой из точек решетки вычисляется посредством группы, которая состоит из тех ядер, которые являются физически ближайшими друг к другу. Вследствие небольшой разности во времени задержки на связь, вычисление может быть выполнено с высокой эффективностью в процессоре в целом.
[0012] Между прочим, ядро, выступающее в качестве ядра для интерполяционного вычисления, может фиксированно задаваться как любое из ядер. В этом случае, одно из ядер для вычисления оптимальных значений управления может быть определено в качестве ядра для интерполяционного вычисления, или ядро для интерполяционного вычисления может быть выбрано из ядер, отличных от ядер для вычисления оптимальных значений управления. Тем не менее, более предпочтительно, чтобы ядро, выступающее в качестве ядра для интерполяционного вычисления, динамически изменялось между ядрами для вычисления оптимальных значений управления. В этом случае, каждое из ядер для вычисления оптимальных значений управления программируется, чтобы осуществлять следующую обработку в случае, если рабочая область, которой принадлежит текущая рабочая точка, представляет собой область, которая задается посредством точек решетки, ассоциированных с каждым из самих ядер для вычисления оптимальных значений управления.
[0013] Прежде всего, каждое из ядер для вычисления оптимальных значений управления определяет, ранжируется или нет точка решетки, ассоциированная с каждым из самих ядер для вычисления оптимальных значений управления, в качестве характерной точки решетки из множества точек решетки, которые задают рабочую область, которой принадлежит текущая рабочая точка. Например, в случае, если рисунок компоновки точек решетки состоит из прямоугольных решеток, одна точка решетки, которая размещается в предварительно определенной позиции, из четырех точек решетки, которые размещаются в четырех углах прямоугольника, выбирается в качестве характерной точки решетки. Ядро, соответствующее характерной точке решетки, в дальнейшем упоминается в качестве характерного ядра. Каждое из ядер для вычисления оптимальных значений управления передает, в другое ядро в качестве характерного ядра, оптимальное значение управления в точке решетки, ассоциированной с каждым из самих ядер для вычисления оптимальных значений управления, в случае, если каждое из самих ядер для вычисления оптимальных значений управления не является характерным ядром. С другой стороны, в случае, если каждое из самих ядер для вычисления оптимальных значений управления является характерным ядром, каждое из ядер для вычисления оптимальных значений управления принимает из соответствующих ядер, с которыми ассоциированы другие точки решетки, задающие рабочую область, которой принадлежит текущая рабочая точка, оптимальные значения управления, которые вычисляются посредством этих ядер. Затем, каждое из ядер для вычисления оптимальных значений управления вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке согласно программе интерполяционного вычисления на основе оптимальных значений управления во всех точках решетки, которые задают рабочую область, которой принадлежит текущая рабочая точка. Каждое из ядер программируется, чтобы осуществлять такую обработку, посредством чего появляется возможность не только уменьшать разность во времени задержки на связь между ядрами, но также и сокращать само время задержки на связь.
[0014] В этой связи, предпочтительно, чтобы оптимальное значение управления вычислялось посредством ядра для вычисления оптимальных значений управления согласно следующей процедуре. Согласно одной предпочтительной процедуре, каждое из ядер для вычисления оптимальных значений управления подтверждает то, представляет собой или нет рабочая область, которой принадлежит текущая рабочая точка, область, которая задается посредством точек решетки, ассоциированных с каждым из самих ядер для вычисления оптимальных значений управления, с интервалами в определенный временной шаг (например, в цикле управления двигателя). Затем, если подтверждается, что рабочая область, которой принадлежит текущая рабочая точка, представляет собой область, которая задается посредством точки решетки, ассоциированной с каждым из самих ядер для вычисления оптимальных значений управления, каждое из ядер для вычисления оптимальных значений управления вычисляет оптимальное значение управления в релевантной точке решетки, согласно вышеуказанной программе вычисления. С другой стороны, если подтверждается, что рабочая область, которой принадлежит текущая рабочая точка, не представляет собой область, которая задается посредством точек решетки, ассоциированных с каждым из самих ядер для вычисления оптимальных значений управления, каждое из ядер для вычисления оптимальных значений управления прекращает вычисление оптимальных значений управления в релевантных точках решетки. Вычисления оптимальных значений управления согласно такой процедуре программируются для ядер для вычисления оптимальных значений управления, соответственно, посредством чего потребление электроэнергии может ограничиваться при одновременном обеспечении возможности вычислять целевое значение управления каждого из актуаторов на высокой скорости.
[0015] Кроме того, согласно другой предпочтительной процедуре, связанной с вычислением оптимальных значений управления, каждое из ядер для вычисления оптимальных значений управления сначала подтверждает то, перекрывается или нет рабочая область, которая может достигаться в пределах времени вычисления каждого из оптимальных значений управления, с областью, которая задается посредством точек решетки, которые ассоциированы с каждым из самих ядер для вычисления оптимальных значений управления, с интервалами в определенный временной шаг (например, в цикле управления двигателя). Затем, если подтверждается, что рабочая область перекрывается с областью, каждое из ядер для вычисления оптимальных значений управления вычисляет оптимальные значения управления в релевантных точках решетки согласно вышеуказанной программе вычисления. С другой стороны, если подтверждается, что рабочая область не перекрывается с областью, каждое из ядер для вычисления оптимальных значений управления прекращает вычисление оптимальных значений управления в релевантных точках решетки. Вычисления оптимальных значений управления согласно этой процедуре программируются для ядер для вычисления оптимальных значений управления, соответственно. Таким образом, даже в случае, если рабочий режим двигателя кратковременно изменяется, целевое значение управления каждого из актуаторов может быть вычислено без задержки относительно цикла управления двигателя при сдерживании потребления электроэнергии.
[0016] С другой стороны, согласно второму режиму изобретения, множество точек решетки, которые размещаются в трехмерной ортогональной системе координат, имеющей оси, представляющие первое рабочее условие, второе рабочее условие и третье рабочее условие, соответственно, ассоциированы с множеством ядер, которые установлены на многоядерном процессоре, соответственно, на одной и той же линии в соответствии с двумерной ортогональной системой координат, имеющей оси, представляющие первое рабочее условие и второе рабочее условие, соответственно. Первое рабочее условие и второе рабочее условие являются рабочими условиями, которые являются особенно важными при ассоциировании рабочей величины каждого из актуаторов с рабочим режимом двигателя, и один характерный пример представляет собой группу из частоты вращения двигателя и нагрузки на двигатель. Третье рабочее условие является произвольным, но может быть рабочим условием, которому должен быть присвоен приоритет в текущем рабочем режиме двигателя. Например, также можно выбирать температуру охлаждающей жидкости двигателя в качестве третьего рабочего условия в то время, когда прогревается двигатель, и изменять третье рабочее условие на скорость транспортного средства или температуру всасываемого воздуха после того, как двигатель прогрет.
[0017] Рисунок компоновки точек решетки в двумерной ортогональной системе координат, имеющей оси, представляющие первое рабочее условие и второе рабочее условие, соответственно, является рисунком, идентичным рисунку компоновки ядер в многоядерном процессоре. Помимо этого, рисунок компоновки точек решетки в двумерной ортогональной системе координат повторяется через определенные интервалы в направлении оси третьего рабочего условия. Как следствие, множество точек решетки, которые равны по соответствующим значениям первого рабочего условия и второго рабочего условия между собой и отличаются по значению третьего рабочего условия друг от друга, ассоциированы с каждым из ядер. Тем не менее, ядра, с которыми, соответственно, ассоциированы точки решетки в двумерной ортогональной системе координат, могут представлять собой не все ядра, которые установлены на многоядерном процессоре. Программа вычисления для вычисления оптимального значения управления каждого из актуаторов в ассоциированной точке решетки выделяется заранее каждому из ядер, с которыми, соответственно, ассоциированы точки решетки. В случае, если каждое из ядер имеет локальное запоминающее устройство, выделяемая программа вычисления оптимальных значений управления может сохраняться в локальном запоминающем устройстве. В этом случае, программа интерполяционного вычисления для нижеописанного интерполяционного вычисления также может сохраняться в локальном запоминающем устройстве каждого из ядер. В дальнейшем в этом документе, из ядер, которые установлены на многоядерном процессоре, те ядра, которым выделяются программы вычисления оптимальных значений управления, упоминаются в качестве ядер для вычисления оптимальных значений управления.
[0018] Множество рабочих пространств задается в вышеуказанной трехмерной ортогональной системе координат посредством множества точек решетки, которые размещаются в ней. Например, в случае, если рисунок компоновки точек решетки в двумерной ортогональной системе координат, имеющей оси, представляющие первое рабочее условие и второе рабочее условие, соответственно, состоит из прямоугольных решеток, одно рабочее пространство задается посредством всего восьми точек решетки, а именно, четырех точек решетки, которые размещаются в четырех углах прямоугольника в нижнем ранге, и четырех точек решетки, которые размещаются в четырех углах прямоугольника в верхнем ранге. Текущая рабочая точка, которая определяется посредством соответствующих текущих значений соответствующих рабочих условий, принадлежит любому из рабочих пространств в трехмерной ортогональной системе координат. Каждое из ядер для вычисления оптимальных значений управления программируется, чтобы, в случае, если рабочее пространство, которому принадлежит текущая рабочая точка, представляет собой пространство, которое задается посредством любой из точек решетки, ассоциированных с каждым из самих ядер для вычисления оптимальных значений управления, передавать в ядро для интерполяционного вычисления оптимальные значения управления в точках решетки, которые задают рабочее пространство, которое вычисляется посредством каждого из самих ядер для вычисления оптимальных значений управления. В этой связи, вычисление оптимального значения управления посредством ядра для вычисления оптимальных значений управления выполняется для двух точек решетки, которые равны по соответствующим значениям первого рабочего условия и второго рабочего условия между собой и отличаются по значению третьего рабочего условия друг от друга. Ядро для интерполяционного вычисления программируется, чтобы вычислять через интерполяцию оптимальное значение управления в текущей рабочей точке, с использованием оптимальных значений управления во всех точках решетки, которые задают рабочее пространство, которому принадлежит текущая рабочая точка. Многоядерный процессор выводит оптимальное значение управления в текущей рабочей точке, которое получается посредством вычисления через интерполяцию посредством ядра для интерполяционного вычисления, в качестве целевого значения управления каждого из актуаторов.
[0019] Иными словами, согласно второму режиму изобретения, устройство управления двигателем вычисляет оптимальные значения управления в соответствующих точках решетки посредством множества ядер, ассоциированных с множеством точек решетки, которые трехмерным образом окружают текущую рабочую точку, и вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке на основе результата их вычисления. Таким образом, вычисления оптимальных значений управления в соответствующих точках решетки выполняются распределенно посредством множества ядер, которые работают параллельно. Следовательно, время, требуемое для того, чтобы вычислять целевое значение управления каждого из актуаторов, существенно уменьшается по сравнению со случаем, в котором используется традиционный одноядерный процессор. Кроме того, когда данные по оптимальному значению управления, которые вычисляются посредством каждого из ядер, предоставляются для ядра для интерполяционного вычисления, вызывается задержка на связь, соответствующая физическому расстоянию между ними. Тем не менее, согласно второму режиму изобретения, разность во времени задержки на связь между ядрами может быть уменьшена. Это обусловлено тем, что компоновка точек решетки в двумерной ортогональной системе координат, имеющей оси, представляющие первое рабочее условие и второе рабочее условие, соответственно, соответствует компоновке ядер в многоядерном процессоре, и, следовательно, оптимальные значения управления в соответствующих точках решетки вычисляются посредством группы ядер, которые являются физически ближайшими друг к другу. Вследствие небольшой разности во времени задержки на связь вычисление может быть выполнено с высокой эффективностью в процессоре в целом.
[0020] Кроме того, согласно второму режиму изобретения, более точное управление двигателем может быть реализовано за счет инструктирования целевому значению управления каждого из актуаторов отражать третье рабочее условие. В частности, в случае, если рабочее условие, которое должно быть третьим рабочим условием, выбирается из множества рабочих условий, заданных заранее, в соответствии с рабочим режимом двигателя, может быть реализовано более надлежащее управление двигателем, соответствующее рабочему режиму двигателя.
[0021] Кроме того, во втором режиме изобретения, ядро, выступающее в качестве ядра для интерполяционного вычисления, может фиксированно задаваться как любое из ядер. В этом случае, одно из ядер для вычисления оптимальных значений управления может быть определено в качестве ядра для интерполяционного вычисления, или ядро для интерполяционного вычисления может быть выбрано из ядер, отличных от ядер для вычисления оптимальных значений управления. Тем не менее, более предпочтительно, чтобы ядро, выступающее в качестве ядра для интерполяционного вычисления, динамически изменялось между ядрами для вычисления оптимальных значений управления. В этом случае, каждое из ядер для вычисления оптимальных значений управления программируется, чтобы осуществлять следующую обработку в случае, если рабочее пространство, которому принадлежит текущая рабочая точка, представляет собой пространство, которое задается посредством точек решетки, ассоциированных с каждым из самих ядер для вычисления оптимальных значений управления.
[0022] Прежде всего, каждое из ядер для вычисления оптимальных значений управления определяет, ранжируется или нет точка решетки, ассоциированная с каждым из самих ядер для вычисления оптимальных значений управления, в качестве характерной точки решетки из множества точек решетки, которые задают рабочее пространство, которому принадлежит текущая рабочая точка. Например, в случае, если рисунок компоновки точек решетки в двумерной ортогональной системе координат, имеющей оси, представляющие первое рабочее условие и второе рабочее условие, соответственно, состоит из прямоугольных решеток, одна точка решетки, которая размещается в предварительно определенной позиции, из четырех точек решетки, которые размещаются в четырех углах прямоугольника, выбирается в качестве характерной точки решетки. Ядро, соответствующее характерной точке решетки, в дальнейшем упоминается в качестве характерного ядра. Каждое из ядер для вычисления оптимальных значений управления передает, в другое ядро в качестве характерного ядра, оптимальное значение управления в точке решетки, ассоциированной с каждым из самих ядер для вычисления оптимальных значений управления, в случае, если каждое из самих ядер для вычисления оптимальных значений управления не является характерным ядром. С другой стороны, в случае, если каждое из самих ядер для вычисления оптимальных значений управления является характерным ядром, каждое из ядер для вычисления оптимальных значений управления принимает из соответствующих ядер, с которыми ассоциированы другие точки решетки, задающие рабочее пространство, которому принадлежит текущая рабочая точка, оптимальные значения управления, которые вычисляются посредством этих ядер. Затем, каждое из ядер для вычисления оптимальных значений управления вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке согласно программе интерполяционного вычисления на основе оптимальных значений управления во всех точках решетки, которые задают рабочее пространство, которому принадлежит текущая рабочая точка. Каждое из ядер программируется, чтобы осуществлять такую обработку, посредством чего появляется возможность не только уменьшать разность во времени задержки на связь между ядрами, но также и сокращать само время задержки на связь.
[0023] В этой связи, предпочтительно, чтобы оптимальное значение управления вычислялось посредством ядра для вычисления оптимальных значений управления согласно следующей процедуре. Согласно одной предпочтительной процедуре, каждое из ядер для вычисления оптимальных значений управления подтверждает то, представляет собой или нет рабочее пространство, которому принадлежит текущая рабочая точка, пространство, которое задается посредством любой из точек решетки, ассоциированных с каждым из самих ядер для вычисления оптимальных значений управления, с интервалами в определенный временной шаг (например, в цикле управления двигателя). Затем, если подтверждается, что рабочее пространство, которому принадлежит текущая рабочая точка, представляет собой пространство, которое задается посредством любой из точек решетки, ассоциированных с каждым из самих ядер для вычисления оптимальных значений управления, каждое из ядер для вычисления оптимальных значений управления вычисляет оптимальное значение управления в точке решетки, ассоциированной с каждым из самих ядер для вычисления оптимальных значений управления, из точек решетки, которые задают рабочее пространство, согласно вышеуказанной программе вычисления. С другой стороны, если подтверждается, что рабочее пространство, которому принадлежит текущая рабочая точка, не представляет собой пространство, которое задается посредством точек решетки, ассоциированных с каждым из самих ядер для вычисления оптимальных значений управления, каждое из ядер для вычисления оптимальных значений управления прекращает вычисление оптимальных значений управления во всех точках решетки, ассоциированных с каждым из самих ядер для вычисления оптимальных значений управления. Вычисления оптимальных значений управления согласно этой процедуре программируются для ядер для вычисления оптимальных значений управления, соответственно, посредством чего потребление электроэнергии может ограничиваться при одновременном обеспечении возможности вычислять целевое значение управления каждого из актуаторов на высокой скорости.
[0024] Кроме того, согласно другой предпочтительной процедуре, связанной с вычислением оптимальных значений управления, каждое из ядер для вычисления оптимальных значений управления сначала подтверждает то, перекрывается или нет рабочее пространство, которое может достигаться в пределах времени вычисления каждого из оптимальных значений управления, с пространством, которое задается посредством любой из точек решетки, которые ассоциированы с каждым из самих ядер для вычисления оптимальных значений управления, с интервалами в определенный временной шаг (например, в цикле управления двигателя). Затем, если подтверждается, что рабочее пространство перекрывается с пространством, каждое из ядер для вычисления оптимальных значений управления вычисляет оптимальное значение управления в точке решетки, ассоциированной с каждым из самих ядер для вычисления оптимальных значений управления, из точек решетки, задающих пространство, которое перекрывается с рабочим пространством, согласно вышеуказанной программе вычисления. С другой стороны, если подтверждается, что рабочее пространство не перекрывается с пространством, каждое из ядер для вычисления оптимальных значений управления прекращает вычисление оптимальных значений управления во всех точках решетки, ассоциированных с каждым из самих ядер для вычисления оптимальных значений управления. Вычисления оптимальных значений управления согласно такой процедуре программируются для ядер для вычисления оптимальных значений управления, соответственно. Таким образом, даже в случае, если рабочий режим двигателя кратковременно изменяется, целевое значение управления каждого из актуаторов может быть вычислено без задержки относительно цикла управления двигателя при сдерживании потребления электроэнергии.
Краткое описание чертежей
[0025] Фиг. 1 является видом, показывающим компоновку ядер многоядерного процессора согласно вариантам осуществления изобретения.
Фиг. 2 является видом, показывающим схему аппаратной архитектуры многоядерного процессора согласно вариантам осуществления изобретения.
Фиг. 3 является видом, показывающим схему программной архитектуры многоядерного процессора согласно вариантам осуществления изобретения.
Фиг. 4 является видом, показывающим компоновку точек решетки в двумерной ортогональной системе координат, имеющей оси, представляющие частоту вращения двигателя и нагрузку на двигатель, соответственно.
Фиг. 5 является видом, показывающим то, как множество точек решетки, размещаемых в двумерной ортогональной системе координат, и множество ядер в многоядерном процессоре ассоциированы между собой.
Фиг. 6 является видом для пояснения способа вычисления целевого значения управления каждого из актуаторов согласно первому варианту осуществления изобретения.
Фиг. 7 является видом для пояснения способа вычисления целевого значения управления каждого из актуаторов согласно первому варианту осуществления изобретения.
Фиг. 8 является блок-схемой последовательности операций способа, показывающей процедуру вычисления оптимальных значений управления, которая выполняется посредством каждого из ядер в первом варианте осуществления изобретения.
Фиг. 9 является видом для пояснения способа вычисления целевого значения управления каждого из актуаторов согласно второму варианту осуществления изобретения.
Фиг. 10 является видом для пояснения способа вычисления целевого значения управления каждого из актуаторов согласно второму варианту осуществления изобретения.
Фиг. 11 является блок-схемой последовательности операций способа, показывающей процедуру вычисления оптимальных значений управления, которая выполняется посредством каждого из ядер во втором варианте осуществления изобретения.
Фиг. 12 является видом, показывающим то, как множество точек решетки, размещаемых в трехмерной ортогональной системе координат, и множество ядер в многоядерном процессоре ассоциированы между собой.
Фиг. 13 является видом для пояснения способа вычисления целевого значения управления каждого из актуаторов согласно третьему варианту осуществления изобретения.
Фиг. 14 является блок-схемой последовательности операций способа, показывающей процедуру вычисления оптимальных значений управления, которая выполняется посредством каждого из ядер в третьем варианте осуществления изобретения.
Фиг. 15 является блок-схемой последовательности операций способа, показывающей процедуру вычисления оптимальных значений управления, которая выполняется посредством каждого из ядер в четвертом варианте осуществления изобретения.
Фиг. 16 является видом, показывающим то, как множество точек решетки, размещаемых в трехмерной ортогональной системе координат, и множество ядер в многоядерном процессоре ассоциированы между собой.
Фиг. 17 является видом для пояснения способа вычисления целевого значения управления каждого из актуаторов согласно пятому варианту осуществления изобретения.
Фиг. 18 является видом для пояснения способа вычисления целевого значения управления каждого из актуаторов согласно первому примеру модификации первого варианта осуществления изобретения.
Фиг. 19 является видом для пояснения способа вычисления целевого значения управления каждого из актуаторов согласно второму примеру модификации первого варианта осуществления изобретения.
Оптимальные режимы осуществления изобретения
[0026] Первый вариант осуществления
Устройство управления двигателем согласно первому варианту осуществления изобретения описывается со ссылкой на чертежи.
[0027] Устройство управления двигателем, к которому применяется изобретение, является устройством, которое вычисляет целевые значения управления актуаторов, связанные с управлением двигателем с помощью многоядерного процессора. В изобретении отсутствует ограничение на тип или конструкцию автомобильного двигателя, который управляется посредством устройства управления двигателем, а также отсутствует ограничение на типы или число актуаторов. Например, устройство управления двигателем согласно этому варианту осуществления изобретения может быть устройством управления для бензинового двигателя. В этом случае, устройство управления двигателем вычисляет целевые значения управления таких актуаторов, как дроссель, устройство зажигания, инжекторы, EGR-клапан, регулируемый клапанный механизм, запорный клапан регулирования давления наддува и т.п. Кроме того, устройство управления двигателем согласно этому варианту осуществления изобретения может быть устройством управления для дизельного двигателя. В этом случае, устройство управления двигателем вычисляет целевые значения управления таких актуаторов, как инжекторы, EGR-клапан, дизельный дроссель, турбонагнетатель с регулируемым соплом и т.п.
[0028] Фиг. 1 является видом, показывающим компоновку ядер многоядерного процессора в качестве части устройства управления двигателем согласно этому варианту осуществления изобретения. Многоядерный процессор 100 согласно этому варианту осуществления изобретения конструктивно отличается тем, что множество ядер 102 размещаются решетчатым способом. Многоядерный процессор 100, показанный на фиг. 1, имеет решетчатый рисунок из прямоугольных решеток, в котором всего сорок девять ядер 102 размещаются в 7 строках и 7 столбцах.
[0029] Фиг. 2 является видом, показывающим схему аппаратной архитектуры многоядерного процессора 100. Каждое из ядер 102 оснащается соответствующим одним из кэшированных ЦПУ 104 и соответствующим одним из локальных запоминающих устройств 106, и ядра 102 подключаются друг к другу посредством шины 108. Различные программы, которые выполняются посредством каждого из ЦПУ 104, и различные данные, которые используются во время выполнения программ, сохраняются в соответствующем одном из локальных запоминающих устройств 106. Кроме того, хотя не показано на чертеже, совместно используемое запоминающее устройство, которое совместно используется ядрами, также подключается к шине 108.
[0030] Фиг. 3 является видом, показывающим схему программной архитектуры многоядерного процессора 100. В многоядерном процессоре 100, различные ОС 110 работают в ядрах 102, соответственно. Кроме того, различные приложения 112 работают в ОС 110, соответственно. Программа вычисления оптимальных значений управления и программа интерполяционного вычисления, которые описываются ниже, представляют собой примеры этих приложений 112. ОС 110 и приложение 112, которые ассоциированы с каждым из ядер 102, по отдельности устанавливаются в соответствующем одном из локальных запоминающих устройств 106 этого ядра 102. В многоядерном процессоре 100, имеющем такую программную архитектуру, каждое из ядер 102 может независимо выполнять соответствующее одно из приложений 112. В случае, если результаты вычисления, полученные посредством других ядер 102, и данные других ядер 102 необходимы для того, чтобы выполнять каждое из приложений 112, данные передаются посредством связи между ядрами (связи между ОС) через шину 108.
[0031] Устройство управления двигателем согласно этому варианту осуществления изобретения получает соответствующие текущие значения частоты вращения двигателя и нагрузки на двигатель и определяет целевые значения управления соответствующих актуаторов на основе этих значений. Если частота вращения двигателя и нагрузка на двигатель определяются, целевые значения управления соответствующих актуаторов, которые могут оптимизировать рабочий режим двигателя, могут указываться. Для данного подробного описания могут быть использованы адаптивные данные, которые получаются посредством фактического тестирования двигателя. Тем не менее, если предпринимается попытка получать адаптивные данные относительно всех комбинаций частоты вращения двигателя и нагрузки на двигатель, адаптивный режим работы требует огромной продолжительности по времени и огромных трудозатрат. Таким образом, предлагается получать адаптивные данные в отношении определенных конкретных комбинаций частоты вращения двигателя и нагрузки на двигатель и выполнять интерполяционное вычисление на основе полученных адаптивных данных в отношении других комбинаций. Устройство управления двигателем согласно этому варианту осуществления изобретения выполняет вычисление целевых значений управления актуаторов посредством использования интерполяционного вычисления параллельным способом с помощью многоядерного процессора 100.
[0032] Адаптивные данные, которые используются в многоядерном процессоре 100, подготавливаются в отношении комбинаций частоты вращения двигателя и нагрузки на двигатель, указываемой посредством точек решетки на фиг. 4. Фиг. 4 является видом, показывающим компоновку точек решетки в двумерной ортогональной системе координат, имеющей оси, представляющие частоту вращения двигателя и нагрузку на двигатель, соответственно. Двадцать пять точек решетки размещаются в пяти строках и пяти столбцах в этой двумерной ортогональной системе координат. В этой связи, номера, назначаемые соответствующим точкам решетки, представляют собой номера точек решетки. В случае, если конкретная одна из точек решетки описывается в нижеприведенном пояснении, она указывается посредством номера точки решетки. Решетчатый рисунок, который допускается посредством точек решетки в двумерной ортогональной системе координат, состоит из прямоугольных решеток, как и в случае с решетчатым рисунком многоядерного процессора 100. В каждой из прямоугольных решеток одна рабочая область задается посредством четырех точек решетки, которые размещаются в четырех углах прямоугольника, соответственно. Как следствие, всего шестнадцать рабочих областей задаются в двумерной ортогональной системе координат, показанной на фиг. 4. С каждой из точек решетки ассоциированы адаптивные данные, которые адаптированы к частоте вращения двигателя и нагрузке на двигатель в этой позиции. Адаптивные данные в каждой из точек решетки включаются в нижеописанную программу вычисления оптимальных значений управления и выделяются ядру 102, с которым ассоциирована релевантная точка решетки.
[0033] Фиг. 5 является видом, показывающим то, как точки решетки, которые размещаются в двумерной ортогональной системе координат, показанной на фиг. 4, и ядра 102 в многоядерном процессоре 100 ассоциированы между собой, соответственно. Номера, назначаемые некоторым ядрам 102, установленным на многоядерном процессоре 100, представляют собой номера ядер. В случае, если конкретное одно из ядер описывается в нижеприведенном пояснении, оно указывается посредством номера ядра. Как очевидно из отличия между фиг. 4 и 5, точки #1-#25 решетки, которые размещаются в двумерной ортогональной системе координат, ассоциированы с ядрами 102a #1-#25 на уровне "один на один", соответственно, на одной и той же линии в соответствии с двумерной ортогональной системой координат. В дальнейшем в этом документе, из ядер 102, которые установлены на многоядерном процессоре 100, те ядра, с которыми, соответственно, ассоциированы точки решетки, отличаются от других ядер посредством ссылочной позиции 102a. Программа вычисления оптимальных значений управления, которая использует адаптивные данные, адаптированные к частоте вращения двигателя и нагрузке на двигатель в каждой из точек решетки, выделяется соответствующему одному из ядер 102a, с которым ассоциирована эта точка решетки. В комбинации с программой интерполяционного вычисления программа вычисления оптимальных значений управления устанавливается в каждом из локальных запоминающих устройств 106. Программа вычисления оптимальных значений является программой, которая вычисляет оптимальные значения управления актуаторов с помощью модели рабочих характеристик двигателя. Вышеуказанные адаптивные данные используются в качестве значений параметров модели рабочих характеристик двигателя. В многоядерном процессоре 100 согласно этому варианту осуществления изобретения, из сорока девяти ядер 102, двадцать пять ядер 102a #1-#25 выступают в качестве ядер для вычисления оптимальных значений для вычисления целевых значений управления актуаторов, а остальные ядра 102 отвечают за другие процессы, необходимые для управления двигателем.
[0034] Далее описывается способ вычисления целевых значений управления актуаторов с помощью многоядерного процессора 100 с использованием фиг. 6 и 7. В двумерной ортогональной системе координат, показанной на фиг. 6, точка A указывает рабочую точку, которая определяется посредством соответствующих текущих значений частоты вращения двигателя и нагрузки на двигатель, а именно, текущую рабочую точку. Текущее время, как упомянуто в данном документе, означает текущий момент времени, в который начинается текущий временной шаг. Чтобы надлежащим образом управлять двигателем, необходимо вычислять оптимальные значения управления актуаторов в текущей рабочей точке и задавать их в качестве целевых значений управления актуаторов, соответственно. Тем не менее, адаптивные данные для вычисления оптимальных значений управления в двумерной ортогональной системе координат подготавливаются только для точек #1-#25 решетки, и адаптивные данные не подготавливаются в других областях. Как следствие, оптимальные значения управления в текущей рабочей точке не могут быть непосредственно вычислены согласно программе вычисления оптимальных значений управления.
[0035] Таким образом, в этом варианте осуществления изобретения, вычисляются оптимальные значения управления в четырех точках решетки, которые окружают текущую рабочую точку, и эти значения используются для того, чтобы выполнять интерполяционное вычисление оптимального значения управления в текущей рабочей точке. В примере, показанном на фиг. 6, текущая рабочая точка A принадлежит области, которая задается посредством точек #7, #8, #12 и #13 решетки, которые окружаются посредством двойных кругов, соответственно. Как следствие, если оптимальные значения управления в этих точках решетки известны, оптимальное значение управления в текущей рабочей точке A может быть получено через интерполяционное вычисление с использованием этих значений.
[0036] Оптимальное значение управления в текущей рабочей точке A, в частности, вычисляется согласно следующей процедуре. Прежде всего, в компоновке ядер, показанной на фиг. 7, многоядерный процессор 100 использует, для вычисления, ядра 102a #7, #8, #12 и #13, которые соответствуют точкам #7, #8, #12 и #13 решетки, соответственно. Каждое из этих ядер 102a вычисляет оптимальное значение управления в точке решетки, ассоциированной с каждым из самих ядер 102a, согласно программе вычисления оптимальных значений управления, которая устанавливается в локальном запоминающем устройстве 106 каждого из самих ядер 102a. В это время оптимальные значения управления вычисляются параллельно посредством соответствующих ядер 102a #7, #8, #12 и #13. После того, как оптимальные значения управления вычислены посредством соответствующих ядер 102a, данные по результату их вычисления собираются в характерном одном из четырех ядер 4. Каждое из ядер 102a программируется, чтобы распознавать, в качестве характерной точки решетки, точку решетки, которая является ближайшей к началу координат в двумерной ортогональной системе координат из четырех точек решетки, окружающих текущую рабочую точку, и распознавать, в качестве характерного ядра, ядро, с которым ассоциирована характерная точка решетки. В примере, показанном на фиг. 7, ядро 102a #7 является характерным ядром. Ядро 102a #7 в качестве характерного ядра вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке A согласно программе интерполяционного вычисления, которая устанавливается в локальном запоминающем устройстве 106 самого ядра 102a #7, с использованием данных по оптимальным значениям управления, вычисленных посредством самого ядра 102a #7, и данных по оптимальным значениям управления, принимаемых из ядер 102a #8, #12 и #13.
[0037] Согласно способу, описанному выше, оптимальные значения управления в четырех точках решетки, необходимых для интерполяционного вычисления, вычисляются параллельно посредством отдельных ядер 102a, соответственно. Таким образом, время, требуемое для того, чтобы вычислять целевые значения управления актуаторов, может быть существенно уменьшено по сравнению со случаем, в котором используется традиционный одноядерный процессор. Кроме того, компоновка точек решетки в двумерной ортогональной системе координат соответствует компоновке ядер 102a в многоядерном процессоре 100. Следовательно, оптимальные значения управления в четырех точках решетки могут быть вычислены посредством четырех ядер 102a, которые являются физически ближайшими друг к другу. Кроме того, одно из четырех ядер 102a выступает в качестве ядра для интерполяционного вычисления. Это позволяет не только уменьшать разность во времени задержки на связь, которая вызывается, когда данные по оптимальным значениям управления, вычисленные посредством соответствующих ядер, предоставляются для ядра для интерполяционного вычисления, но также и сокращать само время задержки на связь.
[0038] В этой связи, способ, описанный выше, осуществляется посредством выполнения процедуры вычисления оптимальных значений управления, показанной на блок-схеме последовательности операций способа по фиг. 8, в каждом из ядер 102a. Эта процедура выполняется с интервалами в определенный временной шаг (например, в цикле управления двигателя) для каждого из ядер 102a, через приложение, которое установлено в соответствующем одном из локальных запоминающих устройств 106 каждого из ядер 102a.
[0039] На этапе S102 в качестве первого этапа блок-схемы последовательности операций способа по фиг. 8, ядро 102a получает соответствующие текущие значения частоты вращения двигателя и нагрузки на двигатель. Эти значения вычисляются на основе выходных значений датчиков посредством ядер 102, отличных от ядра для вычисления оптимальных значений управления. Затем, ядро 102a указывает текущую рабочую точку из соответствующих текущих значений частоты вращения двигателя и нагрузки на двигатель и определяет, расположена или нет текущая рабочая точка в области, которая задается посредством точек решетки, ассоциированных с самим ядром 102a. Например, если релевантное ядро 102a представляет собой ядро #7, определяется то, какая из четырех прямоугольных областей, имеющих ядро #7 в качестве вершины, содержит текущую рабочую точку.
[0040] Если результат определения на этапе S102 является отрицательным, ядро 102a прекращает вычисление оптимального значения управления и завершает вычисление на текущем временном шаге. Это обусловлено тем, что затратное потребление электроэнергии должно ограничиваться.
[0041] Если результат определения на этапе S102 является положительным, ядро 102a выполняет процесс этапа S104. На этапе S104 ядро 102a выполняет программу вычисления оптимальных значений управления и вычисляет оптимальное значение управления в точке решетки, которая ассоциирована с самим ядром 102a.
[0042] Затем на этапе S106 ядро 102a определяет, ранжируется или нет само ядро 102a в качестве характерного ядра. Является или нет ядро 102a характерным ядром, можно определять из позиционной взаимосвязи между точкой решетки, ассоциированной с самим ядром 102a, и текущей рабочей точкой.
[0043] Если результат определения на этапе S106 является отрицательным, ядро 102a выполняет процесс этапа S112. На этапе S112 ядро 102a передает данные по оптимальному значению управления, которые вычисляются посредством самого ядра 102a, в характерное ядро. То, какое ядро ранжируется в качестве характерного ядра, можно определять из координаты текущей рабочей точки в двумерной ортогональной системе координат. Вычисление на текущем временном шаге посредством релевантного ядра 102a завершается через передачу данных по оптимальным значениям управления.
[0044] Если результат определения на этапе S106 является положительным, ядро 102a выполняет процесс этапа S108. На этапе S108 ядро 102a принимает из соответствующих ядер, с которыми ассоциированы другие точки решетки, задающие рабочую область, которой принадлежит текущая рабочая точка, данные по оптимальным значениям управления, которые вычисляются посредством этих ядер, соответственно. Например, если текущая рабочая точка расположена так, как указано посредством точки A на фиг. 6, и релевантное ядро 102a представляет собой ядро #7, ядро 102a принимает, из соответствующих ядер 102a #8, #12 и #13, данные по оптимальным значениям управления, вычисленные посредством этих ядер, соответственно.
[0045] Затем на этапе S110 ядро 102a в качестве характерного ядра вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке согласно программе интерполяционного вычисления на основе оптимальных значений управления в четырех точках решетки, которые включают в себя оптимальное значение управления, вычисленное посредством самого ядра 102a. Оптимальное значение управления в текущей рабочей точке, которое получается посредством вычисления через интерполяцию, выводится в качестве целевого значения управления каждого из актуаторов. Таким образом, вычисление на текущем временном шаге посредством релевантного ядра 102a завершается.
[0046] Потребление электроэнергии может ограничиваться при одновременном обеспечении возможности вычислять целевые значения управления актуаторов на высокой скорости посредством выполнения вышеприведенной процедуры в каждом из ядер 102a.
[0047] Второй вариант осуществления
Далее описывается устройство управления двигателем согласно второму варианту осуществления изобретения со ссылкой на чертежи.
[0048] Отличие между этим вариантом осуществления изобретения и первым вариантом осуществления изобретения состоит в способе вычисления целевых значений управления актуаторов с помощью многоядерного процессора 100. Компоновка ядер 102 в многоядерном процессоре 100, аппаратная архитектура многоядерного процессора 100 и программная архитектура многоядерного процессора 100 являются идентичными компоновке ядер, аппаратной архитектуре и программной архитектуре первого варианта осуществления изобретения, показанного на фиг. 1, 2 и 3, соответственно. Кроме того, точки решетки размещаются в двумерной ортогональной системе координат, имеющей оси, представляющие частоту вращения двигателя и нагрузку на двигатель, соответственно, согласно способу, идентичному способу по первому варианту осуществления изобретения, и эти точки решетки ассоциированы с ядрами 102 в многоядерном процессоре 100, соответственно, согласно способу, идентичному способу по первому варианту осуществления изобретения.
[0049] В первом варианте осуществления изобретения, вычисляются оптимальные значения управления в четырех точках решетки, окружающих текущую рабочую точку, и оптимальное значение управления в текущей рабочей точке вычисляется на основе этих значений. Тем не менее, в случае, если рабочий режим двигателя кратковременно изменяется, позиция рабочей точки в двумерной ортогональной системе координат может изменяться в то время, когда каждое из ядер 102a вычисляет оптимальное значение управления. В этом случае, может быть создано расхождение между оптимальным значением управления, которое получается посредством вычисления через интерполяцию согласно способу первого варианта осуществления изобретения, и оптимальным значением управления в истинной текущей рабочей точке. В таком случае, в этом варианте осуществления изобретения предлагается способ точного вычисления целевых значений управления актуаторов в случае, если рабочий режим двигателя кратковременно изменяется.
[0050] В двумерной ортогональной системе координат, показанной на фиг. 9, точка A указывает рабочую точку, которая определяется из соответствующих значений частоты вращения двигателя и нагрузки на двигатель в момент времени, когда начинается текущий временной шаг. Область B со штриховкой указывает рабочую область, которая может достигаться в пределах времени вычисления оптимального значения управления посредством каждого из ядер 102a относительно точки A. Если предполагается, что частота вращения двигателя в точке A обозначается посредством NEa (об/мин), и что нагрузка на двигатель в точке A обозначается посредством KLa (%), эта область B вычисляется как диапазон, в котором частота вращения двигателя составляет NEa±ΔNE (об/мин), и нагрузка на двигатель составляет KLa±ΔKL (%). В данном документе следует отметить, что ΔNE обозначает максимальную величину изменения частоты вращения двигателя, которая прогнозируется в пределах времени вычисления оптимального значения управления, и что ΔKL обозначает максимальную величину изменения нагрузки на двигатель, которая прогнозируется в пределах времени вычисления оптимального значения управления. Соответствующие значения ΔNE и ΔKL определяются заранее в карте, которая использует частоту вращения двигателя и нагрузку на двигатель в качестве аргументов.
[0051] Область B указывает область, в которой рабочая точка может существовать по завершению вычисления оптимального значения управления. Затем, в этом варианте осуществления изобретения, оптимальные значения управления вычисляются заранее в отношении всех точек решетки, окружающих область B, а также точек решетки, окружающих точку A. В примере, показанном на фиг. 9, область B перекрывается с областью, которая задается посредством точек #6, #7, #11 и #12 решетки, областью, которая задается посредством точек #7, #8, #12 и #13 решетки, и областью, которая задается посредством точек #8, #9, #13 и #14 решетки. Как следствие, если оптимальные значения управления в точках #6, #7, #8, #9, #11, #12, #13 и #14 решетки вычисляются заранее, оптимальное значение управления в текущий момент времени, когда вычисление оптимального значения управления завершается, может быть получено посредством вычисления через интерполяцию, независимо от рабочей области, в которой расположена эта рабочая точка. В примере, показанном на фиг. 9, рабочая точка в текущий момент времени, когда начинается интерполяционное вычисление, расположена в точке C. В этом случае, могут быть использованы оптимальные значения управления в точках #8, #9, #13 и #14 решетки, которые уже вычислены. Следовательно, оптимальное значение управления в текущей рабочей точке C может быть вычислено через интерполяцию без задержки относительно цикла управления двигателя.
[0052] Вычисление согласно этому варианту осуществления изобретения, в частности, выполняется согласно следующей процедуре. Прежде всего, в компоновке ядер, показанной на фиг. 10, многоядерный процессор 100 использует, для вычисления, ядра 102a #6, #7, #8, #9, #11, #12, #13 и #14, которые соответствуют точкам #6, #7, #8, #9, #11, #12, #13 и #14 решетки, соответственно. Вычисления оптимальных значений управления посредством этих ядер 102a выполняются параллельно. Если вычисление оптимального значения управления завершается в каждом из ядер 102a, получаются частота вращения двигателя и нагрузка на двигатель в этот момент времени, и указывается позиция текущей рабочей точки в двумерной ортогональной системе координат. Затем, если текущая рабочая точка находится в рабочей области, которая окружается посредством точек #8, #9, #13 и #14 решетки, только данные по оптимальным значениям управления, вычисленные посредством ядер 102a #8, #9, #13 и #14, собираются в характерном ядре. В примере, показанном на фиг. 10, ядро 102a #8 является характерным ядром. Ядро 102a #8 в качестве характерного ядра вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке C согласно программе интерполяционного вычисления, которая устанавливается в локальном запоминающем устройстве 106 самого ядра 102a, с использованием данных по оптимальному значению управления, вычисленных посредством самого ядра 102a #8, и данных по оптимальным значениям управления, принимаемых из ядер 102a #9, #13 и #14.
[0053] Способ, описанный выше, осуществляется посредством выполнения процедуры вычисления оптимальных значений управления, показанной на блок-схеме последовательности операций способа по фиг. 11, в каждом из ядер 102a. Эта процедура выполняется с интервалами в определенный временной шаг (например, в цикле управления двигателя) для каждого из ядер 102a, через приложение, которое установлено в соответствующем одном из локальных запоминающих устройств 106 каждого из ядер 102a.
[0054] На этапе S202 в качестве первого этапа блок-схемы последовательности операций способа по фиг. 11, ядро 102a получает данные по рабочей области, которая может достигаться в пределах времени вычисления оптимального значения управления от текущего момента времени. Рабочая область, которая может достигаться, вычисляется посредством ядер 102, отличных от ядра для вычисления оптимальных значений управления.
[0055] Затем на этапе S204 ядро 102a определяет, перекрывается или нет рабочая область, полученная на этапе S202, с областью, которая задается посредством точки решетки, ассоциированной с самим ядром 102a. Например, если релевантное ядро 102a представляет собой ядро #8, то определяется, какая из четырех прямоугольных областей, имеющих точку #8 решетки в качестве вершины, перекрывается с рабочей областью, полученной на этапе S202.
[0056] Если результат определения на этапе S204 является отрицательным, ядро 102a прекращает вычисление оптимального значения управления и завершает вычисление на текущем временном шаге. Это обусловлено тем, что затратное потребление электроэнергии должно ограничиваться.
[0057] Если результат определения на этапе S204 является положительным, ядро 102a выполняет процесс этапа S206. На этапе S206 ядро 102a выполняет программу вычисления оптимальных значений управления и вычисляет оптимальное значение управления в точке решетки, которая ассоциирована с самим ядром 102a.
[0058] Затем на этапе S208 ядро 102a получает соответствующие текущие значения частоты вращения двигателя и нагрузки на двигатель. Затем, ядро 102a указывает текущую рабочую точку в двумерной ортогональной системе координат и определяет, расположена или нет текущая рабочая точка в области, которая задается посредством точки решетки, ассоциированной с самим ядром 102a. Например, если ядро 102a представляет собой ядро #8, ядро 102a определяет, содержит или нет (и какая) одна из четырех прямоугольных областей, имеющих точку #8 решетки в качестве вершины, текущую рабочую точку.
[0059] Если результат определения на этапе S208 является отрицательным, ядро 102a обнуляет результат вычисления оптимального значения управления и завершает вычисление на текущем временном шаге.
[0060] Если результат определения на этапе S208 является положительным, ядро 102a выполняет процесс этапа S210. На этапе S210 ядро 102a определяет, ранжируется или нет само ядро 102a в качестве характерного ядра. Является или нет ядро 102a характерным ядром, можно определять из позиционной взаимосвязи между точками решетки, ассоциированными с самим ядром 102a, и текущей рабочей точкой.
[0061] Если результат определения на этапе S210 является отрицательным, ядро 102a выполняет процесс этапа S216. На этапе S216 ядро 102a передает в характерное ядро данные по оптимальному значению управления, которые вычисляются посредством самого ядра 102a. То, какое из ядер ранжируется в качестве характерного ядра, можно определять из координаты текущей рабочей точки в двумерной ортогональной системе координат. Вычисление на текущем временном шаге посредством релевантного ядра 102a завершается через передачу данных по оптимальному значению управления.
[0062] Если результат определения на этапе S210 является положительным, ядро 102a выполняет процесс этапа S212. На этапе S212 ядро 102a принимает из соответствующих ядер, с которыми ассоциированы другие точки решетки, задающие рабочую область, которой принадлежит текущая рабочая точка, данные по оптимальным значениям управления, вычисленные посредством этих ядер, соответственно. Например, если текущая рабочая точка расположена так, как указано посредством точки C на фиг. 10, и релевантное ядро 102a представляет собой ядро #8, релевантное ядро 102a принимает, из соответствующих ядер #9, #13 и #14, данные по оптимальным значениям управления, вычисленные посредством этих ядер, соответственно.
[0063] Затем на этапе S214 ядро 102a в качестве характерного ядра вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке согласно программе интерполяционного вычисления на основе оптимальных значений управления в четырех точках решетки, включающих в себя оптимальное значение управления, вычисленное посредством самого ядра 102a. Оптимальное значение управления в текущей рабочей точке, которое получается посредством вычисления через интерполяцию, выводится в качестве целевого значения управления каждого из актуаторов. Таким образом, вычисление на текущем временном шаге посредством релевантного ядра 102a завершается.
[0064] Посредством выполнения вышеприведенной процедуры в каждом из ядер 102a целевое значение управления соответствующих одного из актуаторов может быть вычислено без задержки относительно цикла управления двигателя при ограничении потребления электроэнергии даже в случае, если рабочий режим двигателя кратковременно изменяется.
[0065] Третий вариант осуществления
Далее описывается устройство управления двигателем согласно третьему варианту осуществления изобретения со ссылкой на чертежи.
[0066] Этот вариант осуществления изобретения отличается от первого и второго вариантов осуществления изобретения по числу рабочих условий, служащих в качестве основы при определении целевых значений управления актуаторов. В этом варианте осуществления изобретения целевые значения управления актуаторов определяются на основе температуры охлаждающей жидкости двигателя в качестве третьего рабочего условия, а также частоты вращения двигателя и нагрузки на двигатель в качестве первого и второго рабочих условий. Таким образом, этот вариант осуществления изобретения отличается от первого и второго вариантов осуществления изобретения также по способу вычисления целевых значений управления актуаторов с помощью многоядерного процессора 100. Компоновка ядер 102 в многоядерном процессоре 100, аппаратная архитектура многоядерного процессора 100 и программная архитектура многоядерного процессора 100 являются идентичными компоновке ядер, аппаратной архитектуре и программной архитектуре первого варианта осуществления изобретения, показанного на фиг. 1, 2 и 3.
[0067] Устройство управления двигателем согласно этому варианту осуществления изобретения получает соответствующие текущие значения частоты вращения двигателя, нагрузки на двигатель и температуры охлаждающей жидкости двигателя и определяет целевые значения управления соответствующих актуаторов на основе этих значений. Температура охлаждающей жидкости двигателя является фактором, который имеет большое влияние на взаимосвязь между рабочей величиной каждого из актуаторов и рабочим режимом двигателя, в частности, в процессе прогрева двигателя. В устройстве управления двигателем согласно этому варианту осуществления изобретения адаптивные данные подготавливаются только в отношении определенной конкретной комбинации частоты вращения двигателя, нагрузки на двигатель и температуры охлаждающей жидкости двигателя, и другие комбинации дополняются посредством интерполяционного вычисления на основе подготовленных адаптивных данных.
[0068] Адаптивные данные, которые используются в многоядерном процессоре 100, подготавливаются в отношении комбинации частоты вращения двигателя, нагрузки на двигатель и температуры охлаждающей жидкости двигателя, которые указываются посредством точек решетки на фиг. 12. Фиг. 12 показывает компоновку точек решетки в трехмерной ортогональной системе координат, имеющей ось X, представляющую частоту вращения двигателя, ось Y, представляющую нагрузку на двигатель, и ось Z, представляющую температуру охлаждающей жидкости двигателя. Сто двадцать пять точек решетки размещаются в этой трехмерной ортогональной системе координат в пяти строках, пяти столбцах и пяти ступенях. Трехмерный решетчатый рисунок, который допускается посредством точек решетки в трехмерной ортогональной системе координат, состоит из простых кубических решеток, а решетчатый рисунок в двумерной ортогональной системе координат, имеющей оси, представляющие частоту вращения двигателя и нагрузку на двигатель, соответственно, состоит из прямоугольных решеток, как и в случае с решетчатым рисунком многоядерного процессора 100. Согласно этому решетчатому рисунку, одно рабочее пространство задается посредством восьми точек решетки, которые размещаются в вершинах куба в качестве единичной решетки. Адаптивные данные, которые адаптированы к частоте вращения двигателя, нагрузке на двигатель и температуре охлаждающей жидкости двигателя в позиции каждой из точек решетки, ассоциированы с ними. Адаптивные данные в каждой из точек решетки включаются в программу вычисления оптимальных значений управления и выделяются ядру 102, с которым ассоциирована релевантная точка решетки.
[0069] Фиг. 12 также показывает то, как точки решетки, размещаемые в трехмерной ортогональной системе координат, и ядра 102 в многоядерном процессоре 100 ассоциированы между собой, соответственно. Сто двадцать пять точек решетки, которые размещаются в трехмерной ортогональной системе координат, ассоциированы с двадцатью пятью ядрами 102a на одной и той же линии в соответствии с двумерной ортогональной системой координат, имеющей оси, представляющие частоту вращения двигателя и нагрузку на двигатель, соответственно. Как следствие, пять из точек решетки, которые равны по соответствующим значениям частоты вращения двигателя и нагрузки на двигатель между собой и отличаются по значению температуры охлаждающей жидкости двигателя друг от друга, ассоциированы с каждым из ядер 102a. Программа вычисления оптимальных значений управления, которая использует адаптивные данные, адаптированные к частоте вращения двигателя, нагрузке на двигатель и температурам охлаждающей жидкости двигателя в ассоциированных точках решетки, выделяется каждому из ядер 102a. В комбинации с программой интерполяционного вычисления программа вычисления оптимальных значений управления устанавливается в каждом из локальных запоминающих устройств 106. Вышеуказанные соответствующие адаптивные данные используются в качестве значений параметров модели рабочих характеристик двигателя, которая используется посредством программы вычисления оптимальных значений. В многоядерном процессоре 100 согласно этому варианту осуществления изобретения двадцать пять из ядер 102a выступают в качестве ядер для вычисления оптимальных значений для вычисления целевых значений управления актуаторов, а остальные ядра 102 отвечают за другие процессы, необходимые для управления двигателем.
[0070] Далее описывается способ вычисления целевых значений управления актуаторов с помощью многоядерного процессора 100 с использованием фиг. 13. В трехмерной ортогональной системе координат, показанной на фиг. 13, точка D указывает рабочую точку, которая определяется посредством соответствующих текущих значений частоты вращения двигателя, нагрузки на двигатель и температуры охлаждающей жидкости двигателя, а именно, текущую рабочую точку. Текущее время, как упомянуто в данном документе, означает текущий момент времени, в который начинается текущий временной шаг. Чтобы надлежащим образом управлять двигателем, необходимо вычислять оптимальные значения управления актуаторов в текущей рабочей точке и задавать их в качестве целевых значений управления актуаторов, соответственно. Таким образом, в этом варианте осуществления изобретения, вычисляются оптимальные значения управления в восьми точках решетки, окружающих текущую рабочую точку, и оптимальное значение управления в текущей рабочей точке вычисляется через интерполяцию с использованием этих значений. В примере, показанном на фиг. 13, текущая рабочая точка D принадлежит пространству, которое задается посредством точек #7X, #8X, #12X, #13X, #7Y, #8Y, #12Y и #13Y решетки. Как следствие, если оптимальные значения управления в этих точках решетки известны, оптимальное значение управления в текущей рабочей точке D может быть получено посредством вычисления через интерполяцию с использованием этих значений.
[0071] Оптимальное значение управления в текущей рабочей точке D, в частности, вычисляется согласно следующей процедуре. Прежде всего, в компоновке ядер, показанной на фиг. 13, многоядерный процессор 100 использует ядра 102a #7, #8, #12 и #13, соответствующие вышеуказанным точкам решетки, соответственно, для вычисления. Каждое из этих ядер 102a последовательно вычисляет оптимальные значения управления в соответствующих точках решетки, которые ассоциированы с каждым из самих ядер 102a, согласно программе вычисления оптимальных значений управления, которая устанавливается в локальном запоминающем устройстве 106 каждого из самих ядер 102a. Например, ядро 102a #7 вычисляет оптимальное значение управления в точке #7X решетки и затем вычисляет оптимальное значение управления в точке #7Y решетки. Вычисления оптимальных значений управления посредством четырех ядер 102a выполняются параллельно. Если оптимальное значение управления вычислено в каждом из ядер 102a, данные по результату их вычисления собираются в характерном одном из четырех ядер. Каждое из ядер 102a программируется, чтобы распознавать, в качестве характерной точки решетки, точку решетки, которая является ближайшей к началу координат в трехмерной ортогональной системе координат из восьми точек решетки, окружающих текущую рабочую точку, и распознавать, в качестве характерного ядра, ядро, с которым ассоциирована характерная точка решетки. В примере, показанном на фиг. 13, ядро 102a #7 является характерным ядром. Ядро 102a #7 в качестве характерного ядра вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке D согласно программе интерполяционного вычисления, которая устанавливается в локальном запоминающем устройстве 106 самого ядра 102a #7, с использованием данных по оптимальным значениям управления в двух точках решетки, вычисленных посредством самого ядра 102a #7, и данных по оптимальным значениям управления в шести точках решетки, принимаемых из ядер 102a #8, #12 и #13, соответственно.
[0072] Согласно способу, описанному выше, температура охлаждающей жидкости двигателя в качестве третьего рабочего условия отражается в целевых значениях управления актуаторов, посредством чего может быть реализовано более точное управление двигателем, чем в первом варианте осуществления изобретения. Кроме того, вычисления оптимальных значений управления в восьми точках решетки, требуемых для интерполяционного вычисления, распределенно выполняются посредством четырех ядер 102a, которые работают параллельно. Следовательно, время, требуемое для того, чтобы вычислять целевые значения управления актуаторов, может быть существенно уменьшено по сравнению со случаем, в котором используется традиционный одноядерный процессор. Кроме того, согласно способу, описанному выше, оптимальные значения управления в восьми точках решетки вычисляются посредством четырех ядер 102a, которые являются физически ближайшими друг к другу, и одно из четырех ядер 102a выступает в качестве ядра для интерполяционного вычисления. Это позволяет не только уменьшать разность во времени задержки на связь, которая создается, когда данные по оптимальным значениям управления, вычисленные посредством соответствующих ядер, предоставляются для ядра для интерполяционного вычисления, но также и сокращать само время задержки на связь.
[0073] В этой связи, способ, описанный выше, осуществляется посредством выполнения процедуры вычисления оптимальных значений управления, показанной на блок-схеме последовательности операций способа по фиг. 14, в каждом из ядер 102a. Эта процедура выполняется с интервалами в определенный временной шаг (например, в цикле управления двигателя) для каждого из ядер 102a, через приложение, которое установлено в соответствующем одном из локальных запоминающих устройств 106 каждого из ядер 102a.
[0074] На этапе S302 в качестве первого этапа блок-схемы последовательности операций способа по фиг. 14, ядро 102a получает соответствующие текущие значения частоты вращения двигателя, нагрузки на двигатель и температуры охлаждающей жидкости двигателя. Эти значения вычисляются на основе выходных значений датчиков посредством ядер 102, отличных от ядра для вычисления оптимальных значений управления. Затем, ядро 102a указывает текущую рабочую точку из соответствующих текущих значений частоты вращения двигателя, нагрузки на двигатель и температуры охлаждающей жидкости двигателя и определяет, расположена или нет текущая рабочая точка в пространстве, которое задается посредством любой из точек решетки, которые ассоциированы с самим ядром 102a. Например, если релевантное ядро 102a представляет собой ядро #7, ядро 102a определяет, какое из множества кубических пространств, имеющих точку #7X решетки и точку #7Y решетки в качестве вершин, содержит текущую рабочую точку.
[0075] Если результат определения на этапе S302 является отрицательным, ядро 102a прекращает вычисление оптимального значения управления и завершает вычисление на текущем временном шаге. Это обусловлено тем, что затратное потребление электроэнергии должно ограничиваться.
[0076] Если результат определения на этапе S302 является положительным, ядро 102a выполняет процесс этапа S304. На этапе S304 ядро 102a выполняет программу вычисления оптимальных значений управления и вычисляет оптимальные значения управления в двух точках решетки, ассоциированных с текущей рабочей точкой, из точек решетки, ассоциированных с самим ядром 102a.
[0077] Затем на этапе S306 ядро 102a определяет, ранжируется или нет само ядро 102a в качестве характерного ядра. Является или нет ядро 102a характерным ядром, можно определять из позиционной взаимосвязи между точками решетки, которые ассоциированы с самим ядром 102a, и текущей рабочей точкой.
[0078] Если результат определения на этапе S306 является отрицательным, то ядро 102a выполняет процесс этапа S312. На этапе S312 ядро 102a передает в характерное ядро данные по оптимальным значениям управления в двух точках решетки, которые вычисляются посредством самого ядра 102a. То, какое из ядер ранжируется в качестве характерного ядра, можно определять из координаты текущей рабочей точки в трехмерной ортогональной системе координат. Через передачу данных по оптимальным значениям управления, вычисление на текущем временном шаге посредством релевантного ядра 102a завершается.
[0079] Если результат определения на этапе S306 является положительным, ядро 102a выполняет процесс этапа S308. На этапе S308 ядро 102a принимает из соответствующих ядер, с которыми, соответственно, ассоциированы другие точки решетки, задающие рабочее пространство, которому принадлежит текущая рабочая точка, данные по оптимальным значениям управления, которые вычисляются посредством этих ядер, соответственно. Например, если текущая рабочая точка расположена так, как указано посредством точки D на фиг. 13, и релевантное ядро 102a представляет собой ядро #7, ядро 102a принимает, из соответствующих ядер 102a #8, #12 и #13, данные по оптимальным значениям управления в шести точках решетки, которые вычисляются посредством этих ядер, соответственно.
[0080] Затем на этапе S310 ядро 102a в качестве характерного ядра вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке согласно программе интерполяционного вычисления на основе оптимальных значений управления в восьми точках решетки, включающих в себя оптимальное значение управления, которое вычисляется посредством самого ядра 102a. Оптимальное значение управления в текущей рабочей точке, которое получается посредством вычисления через интерполяцию, выводится в качестве целевого значения каждого из актуаторов. Таким образом, вычисление на текущем временном шаге посредством релевантного ядра 102a завершается.
[0081] Посредством выполнения вышеприведенной процедуры в каждом из ядер 102a потребление электроэнергии может ограничиваться при одновременном обеспечении возможности вычислять целевое значение управления каждого из актуаторов на высокой скорости.
[0082] Четвертый вариант осуществления
Далее описывается устройство управления двигателем согласно четвертому варианту осуществления изобретения со ссылкой на чертежи.
[0083] Компоновка ядер 102 в многоядерном процессоре 100, аппаратная архитектура многоядерного процессора 100 и программная архитектура многоядерного процессора 100 в этом варианте осуществления изобретения являются идентичными компоновке ядер, аппаратной архитектуре и программной архитектуре первого варианта осуществления изобретения, показанного на фиг. 1, 2 и 3. Кроме того, точки решетки размещаются в трехмерной ортогональной системе координат, имеющей оси, представляющие частоту вращения двигателя, нагрузку на двигатель и температуру охлаждающей жидкости двигателя, соответственно, согласно способу, идентичному способу в третьем варианте осуществления изобретения, показанному на фиг. 12, и эти точки решетки ассоциированы с ядрами 102 в многоядерном процессоре 100 согласно способу, идентичному способу в третьем варианте осуществления изобретения, показанному на фиг. 12. Этот вариант осуществления изобретения предлагает способ точного вычисления целевого значения управления каждого из актуаторов в случае, если рабочий режим двигателя кратковременно изменяется, и взаимосвязь между этим вариантом осуществления изобретения и третьим вариантом осуществления изобретения соответствует взаимосвязи между вторым вариантом осуществления изобретения и первым вариантом осуществления изобретения.
[0084] Способ вычисления целевого значения управления каждого из актуаторов согласно этому варианту осуществления изобретения осуществляется посредством выполнения процедуры вычисления оптимальных значений управления, показанной на блок-схеме последовательности операций способа по фиг. 15, в каждом из ядер 102a, с которыми, соответственно, ассоциированы точки решетки. Эта процедура выполняется с интервалами в определенный временной шаг (например, в цикле управления двигателя) для каждого из ядер 102a, через приложение, которое установлено в соответствующем одном из локальных запоминающих устройств 106 каждого из ядер 102a.
[0085] На этапе S402 в качестве первого этапа блок-схемы последовательности операций способа по фиг. 15, ядро 102a получает данные по рабочему пространству, которое может достигаться в пределах времени вычисления оптимального значения управления от текущего момента времени. Если предполагается, что частота вращения двигателя, нагрузка на двигатель и температура охлаждающей жидкости двигателя в момент времени, когда текущий временной шаг начинается, обозначаются посредством NEa (об/мин), KLa (%) и TWa (°C), соответственно, рабочее пространство вычисляется как диапазон, в котором частота вращения двигателя составляет NEa±ΔNE (об/мин), нагрузка на двигатель составляет KLa±ΔKL (%), и температура охлаждающей жидкости двигателя составляет TWa+ΔTW (°C). В данном документе следует отметить, что ΔNE обозначает максимальную величину изменения частоты вращения двигателя, которая прогнозируется в пределах времени вычисления оптимального значения управления, что ΔKL обозначает максимальную величину изменения нагрузки на двигатель, которая прогнозируется в пределах времени вычисления оптимального значения управления, и что ΔTW является максимальной величиной повышения температуры охлаждающей жидкости двигателя, которая прогнозируется в пределах времени вычисления оптимального значения управления. Рабочее пространство, которое может достигаться, вычисляется посредством ядер 102, отличных от ядра для вычисления оптимальных значений управления.
[0086] Затем на этапе S404 ядро 102a определяет, перекрывается или нет рабочее пространство, полученное на этапе S402, с пространством, которое задается посредством любой из точек решетки, ассоциированных с самим ядром 102a.
[0087] Если результат определения на этапе S404 является отрицательным, ядро 102a прекращает вычисление оптимального значения управления и завершает вычисление на этом текущем временном шаге. Это обусловлено тем, что затратное потребление электроэнергии должно ограничиваться.
[0088] Если результат определения на этапе S404 является положительным, то ядро 102a выполняет процесс этапа S406. На этапе S406 ядро 102a выполняет программу вычисления оптимальных значений управления и вычисляет оптимальное значение управления в каждой из точек решетки, ассоциированных с самим ядром 102a, из точек решетки, которые задают рабочее пространство, полученное на этапе S402.
[0089] Затем на этапе S408 ядро 102a получает соответствующие текущие значения частоты вращения двигателя, нагрузки на двигатель и температуры охлаждающей жидкости двигателя. Текущее время, как упомянуто в данном документе, означает текущий момент времени, в который завершается вычисление оптимального значения управления. Затем, ядро 102a указывает текущую рабочую точку в трехмерной ортогональной системе координат от соответствующих текущих значений трех рабочих условий и определяет, расположена или нет текущая рабочая точка в пространстве, которое задается посредством любой из точек решетки, ассоциированных с самим ядром 102a.
[0090] Если результат определения на этапе S408 является отрицательным, ядро 102a обнуляет результат вычисления оптимального значения управления и завершает вычисление на текущем временном шаге.
[0091] Если результат определения на этапе S408 является положительным, ядро 102a выполняет процесс этапа S410. На этапе S410 ядро 102a определяет, ранжируется или нет само ядро 102a в качестве характерного ядра. Является или нет ядро 102a характерным ядром, можно определять из позиционной взаимосвязи между точками решетки, которые ассоциированы с самим ядром 102a, и текущей рабочей точкой.
[0092] Если результат определения на этапе S410 является отрицательным, ядро 102a выполняет процесс этапа S416. На этапе S416 ядро 102a передает в характерное ядро данные по оптимальным значениям управления в двух точках решетки, ассоциированных с текущей рабочей точкой, в числе данных по оптимальным значениям управления, которые вычисляются заранее на этапе S404. То, какое из ядер ранжируется в качестве характерного ядра, можно определять из координаты текущей рабочей точки в трехмерной ортогональной системе координат. Вычисление на текущем временном шаге посредством релевантного ядра 102a завершается через передачу данных по оптимальным значениям управления.
[0093] Если результат определения на этапе S410 является положительным, ядро 102a выполняет процесс этапа S412. На этапе S412 ядро 102a принимает из соответствующих ядер, с которыми, соответственно, ассоциированы другие точки решетки, задающие рабочее пространство, которому принадлежит текущая рабочая точка, данные по оптимальным значениям управления в шести точках решетки, которые вычисляются посредством этих ядер, соответственно.
[0094] Затем на этапе S414 ядро 102a в качестве характерного ядра вычисляет через интерполяцию оптимальное значение управления в текущей рабочей точке согласно программе интерполяционного вычисления на основе оптимальных значений управления в восьми точках решетки, включающих в себя оптимальное значение управления, которое вычисляется посредством самого ядра 102a. Оптимальное значение управления в текущей рабочей точке, которое получается посредством вычисления через интерполяцию, выводится в качестве целевого значения управления каждого из актуаторов. Таким образом, вычисление на текущем временном шаге посредством релевантного ядра 102a завершается.
[0095] Посредством выполнения вышеприведенной процедуры в каждом из ядер 102a целевое значение управления каждого из актуаторов может быть вычислено без задержки относительно цикла управления двигателя при ограничении потребления электроэнергии даже в случае, если рабочий режим двигателя кратковременно изменяется.
[0096] Пятый вариант осуществления
Далее описывается устройство управления двигателем согласно пятому варианту осуществления изобретения со ссылкой на чертежи.
[0097] Компоновка ядер 102 в многоядерном процессоре 100, аппаратная архитектура многоядерного процессора 100 и программная архитектура многоядерного процессора 100 согласно этому варианту осуществления изобретения являются идентичными компоновке ядер, аппаратной архитектуре и программной архитектуре первого варианта осуществления изобретения, показанного на фиг. 1, 2 и 3. Способ вычисления целевого значения управления каждого из актуаторов согласно этому варианту осуществления изобретения основан на способе вычисления целевого значения управления согласно третьему варианту осуществления изобретения. Соответственно, точки решетки размещаются в трехмерной ортогональной системе координат, имеющей оси, представляющие частоту вращения двигателя, нагрузку на двигатель и температуру охлаждающей жидкости двигателя, соответственно, согласно способу, идентичному способу в третьем варианте осуществления изобретения, и эти точки решетки ассоциированы с ядрами 102 в многоядерном процессоре 100, соответственно, согласно способу, идентичному способу в третьем варианте осуществления изобретения.
[0098] Устройство управления двигателем согласно этому варианту осуществления изобретения отличается тем, что третье рабочее условие в качестве одного из трех рабочих условий, служащих в качестве основы при определении целевого значения управления каждого из актуаторов, изменяется в соответствии с состоянием двигателя. Кроме того, в этом варианте осуществления изобретения, до тех пор, пока двигатель не прогреется, температура охлаждающей жидкости двигателя используется в качестве третьего рабочего условия, как и в случае с третьим вариантом осуществления изобретения. Тем не менее, поскольку величина изменения температуры охлаждающей жидкости двигателя является небольшой после того, как двигатель прогрет, перемещения рабочей точки в трехмерной ортогональной системе координат, которая имеет ось Z, представляющую температуру охлаждающей жидкости двигателя, ограничены перемещениями на конкретной плоскости XY, на которой температура охлаждающей жидкости двигателя является постоянной. Иными словами, большое число точек решетки, которые размещаются в направлении по оси Z, не используется после того, как двигатель прогрет. Таким образом, в этом варианте осуществления изобретения, третье рабочее условие изменяется с температуры охлаждающей жидкости двигателя на температуру всасываемого воздуха по завершению прогрева двигателя.
[0099] Фиг. 16 показывает компоновку точек решетки в трехмерной ортогональной системе координат, имеющей ось X, представляющую частоту вращения двигателя, ось Y, представляющую нагрузку на двигатель, и ось Z, представляющую температуру всасываемого воздуха. Трехмерный решетчатый рисунок, который допускается посредством точек решетки в этой трехмерной ортогональной системе координат, является идентичным трехмерному решетчатому рисунку в трехмерной ортогональной системе координат, имеющей ось Z, представляющую температуру охлаждающей жидкости двигателя, как показано на фиг. 12. Множество точек решетки, которые размещаются в трехмерной ортогональной системе координат, имеющей ось Z, представляющую температуру всасываемого воздуха, ассоциированы с двадцатью пятью ядрами 102a на одной и той же линии в соответствии с двумерной ортогональной системой координат, имеющей оси, представляющие частоту вращения двигателя и нагрузку на двигатель, соответственно. Адаптивные данные, которые адаптированы к частоте вращения двигателя, нагрузке на двигатель и температуре всасываемого воздуха в каждой из точек решетки, ассоциированы с ними. Адаптивные данные в каждой из точек решетки включаются в программу вычисления оптимальных значений управления и выделяются ядру 102a, с которым ассоциирована релевантная точка решетки.
[0100] Таким образом, в этом варианте осуществления изобретения, в дополнение к множеству точек решетки (точек решетки первой группы), которые равны по соответствующим значениям частоты вращения двигателя и нагрузки на двигатель между собой и отличаются по значению температуры охлаждающей жидкости двигателя друг от друга, множество точек решетки (точек решетки второй группы), которые равны по соответствующим значениям частоты вращения двигателя и нагрузки на двигатель между собой и отличаются по значению температуры всасываемого воздуха друг от друга, ассоциированы с каждым из ядер 102a. Программа вычисления оптимальных значений управления, которая устанавливается в локальном запоминающем устройстве 106 каждого из ядер 102a, спроектирована таким образом, что могут быть избирательно использованы либо адаптивные данные, адаптированные к соответствующим точкам решетки первой группы, либо адаптивные данные, адаптированные к соответствующим точкам решетки второй группы.
[0101] От запуска двигателя до завершения прогрева двигателя каждое из ядер 102a использует адаптивные данные, адаптированные к соответствующим точкам решетки первой группы, для вычисления согласно программе вычисления оптимальных значений управления, как показано в левой схеме по фиг. 17. Например, если текущая рабочая точка расположена в позиции точки E в трехмерной ортогональной системе координат, показанной в левой схеме по фиг. 17, ядро 102a #7 вычисляет оптимальные значения управления в соответствующих точках #7X и #7Y решетки. Оптимальное значение управления в точке E вычисляется через интерполяцию с использованием оптимальных значений управления в соответствующих точках #7X, #7Y, #8X, #8Y, #12X, #12Y, #13X и #13Y решетки.
[0102] Когда прогрев двигателя затем завершается, каждое из ядер 102a изменяет адаптивные данные, используемые для вычисления оптимального значения управления, на адаптивные данные, адаптированные к соответствующим точкам решетки второй группы, как показано в правой схеме по фиг. 17. Например, если текущая рабочая точка после изменения расположена в точке F в трехмерной ортогональной системе координат, показанной в правой схеме по фиг. 17, ядро 102a #7 вычисляет оптимальные значения управления в соответствующих точках 7x и 7y решетки. Оптимальное значение управления в точке F вычисляется через интерполяцию с использованием оптимальных значений управления в соответствующих точках 7x и 7y решетки и соответствующих точках 8x, 8y, 12x, 12y, 13x и 13y решетки.
[0103] Даже если двигатель прогрет, температура всасываемого воздуха изменяется. Таким образом, температура всасываемого воздуха имеет большее влияние на состояние двигателя, чем температура охлаждающей жидкости двигателя в случае, если прогрев завершен. Как следствие, посредством изменения третьего рабочего условия с температуры охлаждающей жидкости двигателя на температуру всасываемого воздуха по завершению прогрева двигателя, состояние двигателя может управляться более надлежаще посредством эффективного использования трехмерной компоновки точек решетки.
[0104] Другие
Изобретение не ограничено вышеуказанными вариантами осуществления и может осуществляться после различных модификаций без отступления от сущности изобретения. Например, изобретение может осуществляться после модификации следующим образом.
[0105] В каждом из вышеуказанных вариантов осуществления изобретения интерполяционное вычисление выполняется в характерном ядре, которое выбирается из ядер, которые вычисляют оптимальные значения управления. Тем не менее, интерполяционное вычисление также может быть выполнено в других ядрах. Например, каждый из фиг. 18 и 19 показывает пример модификации первого варианта осуществления изобретения. Как указано посредством примера модификации по фиг. 18, любое из ядер 102b, отличных от ядер 102a, с которыми, соответственно, ассоциированы точки решетки, может быть использовано в качестве ядра для интерполяционного вычисления. Альтернативно, как указано посредством примера модификации по фиг. 19, любое из ядер 102a, с которыми, соответственно, ассоциированы точки решетки, также может фиксированно задаваться в качестве ядра для интерполяционного вычисления. В этом случае, предпочтительно, чтобы ядро с в среднем низкой вычислительной нагрузкой, к примеру, ядро 102a #25, с которым ассоциирована точка решетки с максимальной частотой вращения двигателя и максимальной нагрузкой на двигатель, использовалось в качестве ядра для интерполяционного вычисления. В этих примерах модификаций, когда данные по оптимальным значениям управления, вычисленные посредством соответствующих ядер, передаются в ядро для интерполяционного вычисления, время задержки на связь увеличивается по мере того, как возрастает физическое расстояние между ними. Тем не менее, вычисление оптимального значения управления, которое используется в интерполяционном вычислении, выполняется в группе ядер, которые являются физически ближайшими друг к другу, например, группе ядер 102a #7, #8, #12 и #13. Следовательно, разность во времени задержки на связь между ядрами является небольшой. Вследствие небольшой разности во времени задержки на связь вычисление может быть выполнено с высокой эффективностью в многоядерном процессоре в целом.
[0106] В каждом из вышеуказанных вариантов осуществления изобретения точки решетки ассоциированы с одним или некоторыми ядрами, которые установлены на многоядерном процессоре. Тем не менее, точки решетки также могут быть ассоциированы со всеми ядрами, которые установлены на многоядерном процессоре. Например, в случае многоядерного процессора 100, показанного на фиг. 1, 49 точек решетки могут размещаться в двумерной ортогональной системе координат, имеющей оси, представляющие частоту вращения двигателя и нагрузку на двигатель, соответственно, и могут быть ассоциированы со всеми сорока девятью ядрами 102, соответственно. В этом случае, из ядер, с которыми, соответственно, ассоциированы точки решетки, это ядро с в среднем относительно низкой нагрузкой может осуществлять управление другими процессами, необходимыми для управления двигателем. В этой связи, число ядер, установленных на многоядерном процессоре, предпочтительно может быть равно или больше четырех, а более предпочтительно, равно или больше девяти. Число ядер не ограничено конкретным образом. Кроме того, число точек решетки, размещаемых в двумерной ортогональной системе координат, не ограничено конкретным образом при условии, что оно равно или меньше числа ядер, установленных на многоядерном процессоре.
[0107] В четвертом варианте осуществления изобретения третье рабочее условие после завершения прогрева двигателя может быть скоростью транспортного средства вместо температуры всасываемого воздуха. Это обусловлено тем, что разность в скорости транспортного средства приводит к разности в интенсивности воздушного потока при движении и в силу этого к разности в температуре системы выпуска выхлопных газов. Кроме того, любое рабочее условие, которое непрерывно изменяется, является предпочтительным в качестве третьего рабочего условия. Например, атмосферное давление или EGR-скорость являются предпочтительными в качестве третьего рабочего условия.
Описание ссылочных позиций
[0108] 100 - многоядерный процессор
102 - ядро
102a - ядро, с которым ассоциирована точка решетки
104 - ЦПУ
106 - локальное запоминающее устройство
108 - шина
110 - ОС
112 - приложение
Группа изобретений относится к устройству управления двигателем, которое вычисляет целевое значение управления актуатора с помощью многоядерного процессора, имеющего множество ядер. Техническим результатом является повышение эффективности управления множеством ядер. В устройстве множество точек решетки, которые размещаются в двумерной ортогональной системе координат, ассоциированы с множеством ядер, которые размещаются решетчатым способом в многоядерном процессоре на уровне "один на один" на одной и той же линии в соответствии с двумерной ортогональной системой координат, и программа вычисления для вычисления оптимального значения управления в ассоциированной точке решетки выделяется множеству ядер. Каждое из ядер программируется, чтобы в случае, если рабочая область в двумерной ортогональной системе координат, которой принадлежит текущая рабочая точка, представляет собой область, которая задается посредством точки решетки, ассоциированной с каждым из самих ядер, передавать в ядро для интерполяционного вычисления оптимальное значение управления в релевантной точке решетки, которое вычисляется посредством каждого из самих ядер. 2 н. и 14 з.п. ф-лы, 19 ил.